C++ 重载限制

1. 重载的运算符必须至少有一个操作数是用户定义的类型。

2. 不能违反运算符原来的使用规则,例如,不能将求模运算符重载为只使用一个参数。

3. 不能修改运算符的优先级

4. 不能创建新的运算符,例如不能定义operator**()

5. 不能重载以下运算符

sizeof			//sizeof运算符
.			//成员运算符
.*			//成员指针运算符
::			//作用域解析运算符
?:			//条件运算符
typeid			//RTTI
const_cast	        //强制类型转换
dynamic_cast	        //强制类型转换
reinterpret_cast        //强制类型转换
static_cast	        //强制类型转换

6. 大多数运算符都可以通过成员或非成员函数进行重载,但以下运算符只能通过成员函数重载

=

()

[]

->


你可能感兴趣的:(C++)