重载运算符

结构体内

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++ 重载运算符和重载函数》

back

posted @ 2021-08-27 23:44  luckydrawbox  阅读(13)  评论(0)    收藏  举报  来源