重载运算符
结构体内
struct asdf{
int x, y;
bool operator<(const asdf &a)const{
return x<a.x||(x==a.x&&y<a.y);
}
};
结构体外
bool operator<(const int &a,const int &b){
return a>b;
}
可重载运算符
| 种类 | 运算符 |
|---|---|
| 双目算术运算符 | +(加),-(减),*(乘),/(除),%(取模) |
| 关系运算符 | ==(等于),!=(不等于),<(小于),>(大于),<=(小于等于),>=(大于等于) |
| 逻辑运算符 | ` |
| 单目运算符 | +(正),-(负),*(指针),&(取地址) |
| 自增自减运算符 | ++(自增),--(自减) |
| 位运算符 | ` |
| 赋值运算符 | =,+=,-=,*=,/=,%=,&=,` |
| 空间申请与释放 | new,delete,new[],delete[] |
| 其他运算符 | ()(函数调用),->(成员访问),,(逗号),[](下标) |
不可重载运算符
.:成员访问运算符.*,->*:成员指针访问运算符:::域运算符sizeof:长度运算符?::条件运算符#: 预处理符号
更多细节可以参考《C++ 重载运算符和重载函数》。

浙公网安备 33010602011771号