运算符重载规则
- 运算符重载函数也是函数,重载的运算符不会改变运算符的优先级、结合型和参数的个数。
- 重载运算符不能违反语言的语法规则。
- 赋值运算符除外,重载运算符可由派生类继承下去。
- 重载运算符不能使用默认参数。
- 运算符=、()、[]和->等操作符必须定义为类的成员函数,将这些操作符定义为友元函数将在编译时标记为错误。
- 输入运算符>>、输出运算符<<、类型转换运算符必须定义为友元函数
- C++中不能重载的运算符只有5个:
- . (成员访问运算符)
- .* (成员指针访问运算符)
- ∷ (域运算符)
- sizeof(长度运算符)
- ?: (条件运算符)