1 注意事项
1)=, [], () 和 -> 操作符只能通过成员函数进行重载
2)<< 和 >>只能通过全局函数配合友元函数进行重载
3)不要重载 && 和 || 操作符,因为无法实现短路规则
2 常规做法
运算符:
所有的一元运算符,如递增运算符( ++ )、递减运算符( -- )
一元减运算符,即负号( - )、逻辑非运算符( ! )等
------------------------------------------- 成员函数实现重载
= () [] -> ->*
--------------------------------------------必须由成员函数实现重载
+= -= /= *= &= ^= != >>= <<=
------------------------------------------- 成员函数实现重载
其他的二元运算符,如加运算符( + )、减运算符( - )、乘运算符( * )和除运算符( / )等
------------------------------------------- 非成员函数实现重载