//普通四则运算
friend A operator +(const A & lhs, const A & rhs);
friend A operator -(const A & lhs, const A & rhs);
friend A operator *(const A & lhs, const A & rhs);
friend A operator /(const A & lhs, const A & rhs);
friend A operator %(const A & lhs, const A & rhs);
friend A operator *(const A & lhs, const int & rhs);//标量运算,如果存在
friend A operator *(const int & lhs, const A & rhs);//标量运算,如果存在 //关系操作符
friend bool operator == (const A & lhs, const A & rhs);
friend bool operator != (const A & lhs, const A & rhs);
friend bool operator < (const A & lhs, const A & rhs);
friend bool operator <= (const A & lhs, const A & rhs);
friend bool operator > (const A & lhs, const A & rhs);
friend bool operator >= (const A & lhs, const A & rhs); //逻辑操作符
friend bool operator || (const A & lhs, const A & rhs);
friend bool operator && (const A & lhs, const A & rhs);
bool A::operator!(); //正负操作符
A A::operator +();//取正
A A::operator -();//取负 //递增递减操作符
A & A::operator++();//前缀递增
A A::operator++(int);//后缀递增
A & A::operator--();//前缀递减
A A::operator--(int);//后缀递减 //动态存储管理操作符:全局或者成员函数均可
void * operator new(std::size_t size) throw(bad_alloc);
void * operator new(std::size_t size, const std::nothrow_t &) throw();
void * operator new(std::size_t size, void *base) throw();
void * operator new[](std::size_t size) throw(bad_alloc);
void operator delete(void *p);
void operator delete[](void *p); //赋值操作符
A & operator = (A &rhs);
A & operator = (const A & rhs);
A & operator = (A && rhs);
A & operator += (const A & rhs);
A & operator -= (const A & rhs);
A & operator *= (const A & rhs);
A & operator %= (const A & rhs);
A & operator &= (const A & rhs);
A & operator /= (const A & rhs);
A & operator |= (const A & rhs);
A & operator ^= (const A & rhs);
A & operator <<= (int n);
A & operator >>= (int n); //下标操作符
T & A::operator[] (int i);
const T & A::operator[](int i)const; //函数调用操作符
T A::operator()(...);//参数可选 //类型转换操作符
A::operator char *() const;
A::operator int() const;
A::operator double() const; //逗号操作符
T2 operator,(T1 t1, T2 t2);//不建议重载 //指针与选员操作符
A * A::operator & ();//取址操作符
A & A::operator *();//引领操作符
const A & A::operator *() const;//引领操作符
C * A::operator->();//选员操作符
const C * A::operator->() const;//选员操作符
C & A::operator->*(...);//选员操作符,指向类成员的指针 //流操作符
friend ostream & operator << (ostream &os, const A &a);
friend istream & operator >> (istream &is, A &a);

C++学习笔记15:操作符重载的函数原型列表(推荐)的更多相关文章

  1. OpenCV学习笔记(15)——更多的轮廓函数

    凸缺陷,以及如何找到凸缺陷 找某一点到一个多边形的最短距离 不同形状的匹配 1.凸缺陷 前面已经设计了轮廓的凸包和凸性缺陷的概念.OpenCV中有一个函数cv2.convexityDefect()可以 ...

  2. SQL反模式学习笔记15 分组

    目标:查询得到每组的max(或者min等其他聚合函数)值,并且得到这个行的其他字段 反模式:引用非分组列 单值规则:跟在Select之后的选择列表中的每一列,对于每个分组来说都必须返回且仅返回一直值. ...

  3. 并发编程学习笔记(15)----Executor框架的使用

    Executor执行已提交的 Runnable 任务的对象.此接口提供一种将任务提交与每个任务将如何运行的机制(包括线程使用的细节.调度等)分离开来的方法.通常使用 Executor 而不是显式地创建 ...

  4. C++基础 学习笔记五:重载之运算符重载

    C++基础 学习笔记五:重载之运算符重载 什么是运算符重载 用同一个运算符完成不同的功能即同一个运算符可以有不同的功能的方法叫做运算符重载.运算符重载是静态多态性的体现. 运算符重载的规则 重载公式 ...

  5. Ext.Net学习笔记15:Ext.Net GridPanel 汇总(Summary)用法

    Ext.Net学习笔记15:Ext.Net GridPanel 汇总(Summary)用法 Summary的用法和Group一样简单,分为两步: 启用Summary功能 在Feature标签内,添加如 ...

  6. ES6学习笔记<二>arrow functions 箭头函数、template string、destructuring

    接着上一篇的说. arrow functions 箭头函数 => 更便捷的函数声明 document.getElementById("click_1").onclick = ...

  7. python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法

    python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法 在Python中字符串处理函数里有三个去空格(包括'\n', '\r', '\t', ' ')的函数 ...

  8. APUE学习笔记——10.9 信号发送函数kill、 raise、alarm、pause

    转载注明出处:Windeal学习笔记 kil和raise kill()用来向进程或进程组发送信号 raise()用来向自身进程发送信号. #include <signal.h> int k ...

  9. Flutter学习笔记(4)--Dart函数

    如需转载,请注明出处:Flutter学习笔记(4)--Dart函数 Dart是一个面向对象的语言,所以函数也是对象,函数属于Function对象,函数可以像参数一样传递给其他函数,这样便于做回调处理: ...

随机推荐

  1. GridView列的排序功能

    首先要给GridView设置三个属性 GridView4.AllowSorting = true; GridView4.Attributes.Add("SortExpression" ...

  2. fr

    8.3 credit sales(bad debt , ar) method1:direct write off method2:allowance method for bad debt allow ...

  3. 发送有序广播Ordered Broadcast

    import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.vi ...

  4. 对于服务器的识别的条件,header之类的使用

    根据上一节的内容的衔接 一:urllib.request的使用 headers的一些属性 User-Agent : 有些服务器或 Proxy 会通过该值来判断是否是浏览器发出的请求Content-Ty ...

  5. oracle查询语句大全

    1.查处oracle数据库的字符编码格式 select * from v$nls_parameters t where t.PARAMETER='NLS_CHARACTERSET'; 如果查出的是ZH ...

  6. .NET C#使用微信公众号登录网站

    适用于:本文适用于有一定微信开发基础的用户 引言:花了300大洋申请了微信公众平台后,发现不能使用微信公众号登录网站(非微信打开)获得微信帐号.仔细研究后才发现还要再花300大洋申请微信开放平台才能接 ...

  7. S1:原型继承

    一.基本性质 function obj(){ this.name1 = '可以被delete删除'; } obj.prototype.name2 = '不能被delete删除'; obj.protot ...

  8. 使用ASP.Net WebAPI构建REST服务(六)——Self-Host

    Asp.Net WebAPI生成的是一个程序集,并不是独立的进程,因此,要运行的时候必须将其承载在相应的宿主上,一般比较常见的是IIS承载.很多时候,我们为了简化部署或者功能集成,需要将其承载到独立的 ...

  9. 【NOIP模拟题】【二分】【倍增】【链表】【树规】

    3 计算几何3.1 题意描述花花对计算几何有着浓厚的兴趣.他经常对着平面直角坐标系发呆,思考一些有趣的问题.今天,他想到了一个十分有意思的题目:首先,花花会在x 轴正半轴和y 轴正半轴分别挑选n 个点 ...

  10. CCNA 6.3

    no encapsulation ppp(默认是encapsulation hdlc 在encapsulation ppp 后想要改回 hdlc 除了可用encapsulation hdlc外,还可以 ...