运算符实际上是一个函数,所以运算符的重载实际上是函数的重载。
重载运算符的形式与规则
- 重载运算符的声明形式如下:
operator 类型名();
- operator是需要重载的运算符,整个语句没有返回值类型,因为类型名就代表了它的返回值类型。
- 重载运算符将对象转换成类型名规定的类型,转换时的形式就像强制转换一样。
- 重载运算符不能是新创建的运算符;
1. 算数运算符:+,-,,/,%,++,–
2. 位操作运算符:&,|,~,^,>>,<<
3. 逻辑运算符:!,&&,||
4. 比较运算符:<,>,>=,<=,==,!=
5. 赋值运算符:=,+=,-=,=,/=,%=,&=,|=,^=,<<=,>>=
6. 其他运算符:[],(),->, , , new , delete,new[],delete[],->*
重载运算符注意事项
- 重载运算符时不能改变运算符操作数个数。、
- 不能改变运算符原有优先级。
- 不能改变运算符原有结合性。
- 不能改变运算符原有的语法结构。
- 重载运算符含义必须清楚。