C++: 运算符重载
C++中允许在同一作用域中的某个运算符指定多个定义。
通过重定义(重载)C++内置的运算符,使用自定义类型的运算符。
重载的运算符由关键字 operator 要重载的运算符符号构成的。重载运算符需要一个返回类型和一个参数列表。
//两个Box相加
Box operator+(const Box&);
Box operator+(const Box&,const Box&);
可重载运算符列表:
| 运算符 | 符号 |
|---|---|
| 双目算术运算符 | + (加),-(减), (乘),/(除),% (取模) |
| 关系运算符 | ==(等于),!= (不等于),< (小于),> (大于),<=(小于等于),>=(大于等于) |
| 逻辑运算符 | (逻辑或),&&(逻辑与),!(逻辑非) |
| 单目运算符 | + (正),-(负),*(指针),&(取地址) |
| 自增自减运算符 | ++(自增),–(自减) |
| 位运算符 | (按位或),& (按位与),~(按位取反),^(按位异或),,<< (左移),>>(右移) |
| 赋值运算符 | =, +=, -=, *=, /= , % = , &=, |
| 空间申请与释放 | new, delete, new[ ] , delete[] |
| 其他运算符 | ()(函数调用),->(成员访问),,(逗号),[](下标) |
不可重载运算符列表
| 运算符 | 符号 |
|---|---|
| 成员访问运算符 | .点 |
| 成员指针访问运算符 | .* 和 ->* |
| 域运算符 | :: |
| 长度运算符 | sizeof |
| 条件运算符 | ?: |
| 预处理符号 | # |
posted on 2022-04-16 09:47 Michael_chemic 阅读(46) 评论(0) 收藏 举报
浙公网安备 33010602011771号