1. 重载的运算符必须至少有一个操作数是用户定义的类型。
2. 不能违反运算符原来的使用规则,例如,不能将求模运算符重载为只使用一个参数。
3. 不能修改运算符的优先级
4. 不能创建新的运算符,例如不能定义operator**()
5. 不能重载以下运算符
sizeof //sizeof运算符
. //成员运算符
.* //成员指针运算符
:: //作用域解析运算符
?: //条件运算符
typeid //RTTI
const_cast //强制类型转换
dynamic_cast //强制类型转换
reinterpret_cast //强制类型转换
static_cast //强制类型转换
6. 大多数运算符都可以通过成员或非成员函数进行重载,但以下运算符只能通过成员函数重载
=
()
[]
->