参考https://www.runoob.com/cplusplus/cpp-overloading.html
mark一下
一、概念
重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。
二、可重载运算符
- 双目算术运算符:+ (加),-(减),*(乘),/(除),% (取模)
- 关系运算符:==(等于),!= (不等于),< (小于),> (大于>,<=(小于等于),>=(大于等于)
- 逻辑运算符:||(逻辑或),&&(逻辑与),!(逻辑非)
- 单目运算符:+ (正),-(负),*(指针),&(取地址)
- 自增自减运算符:++(自增),--(自减)
- 位运算符:| (按位或),& (按位与),~(按位取反),^(按位异或),,<< (左移),>>(右移)
- 赋值运算符:=, +=, -=, *=, /= , % = , &=, |=, ^=, <<=, >>=
- 空间申请与释放:new, delete, new[ ] , delete[]
- 其他运算符:()(函数调用),->(成员访问),,(逗号),[](下标)
三、不可重载运算符
- .:成员访问运算符
- ?::条件运算符
- #: 预处理符号