C++中有5个运算符不能重载:
成员访问运算符 .
作用域运算符 ::
条件运算符 ?:
成员指针运算符 *
长度运算符 sizeof()
运算符重载的两种实现形式:类的成员函数 类的友元函数
只能用于成员函数重载的运算符:
= ( ) [ ] -> new delete
运算符重载的实质就是函数重载或函数多态:
函数类型 operator运算符名称(形参列表)
{
运算符重载处理;
}
++a a.operator++( )
m++ operator++(m)
a+b a.operator+(b)
a==b operator(a,b)
重载赋值运算符时声明为成员函数,不可以改变语法语义结构、操作数的个数、优先级、结合性。
通过重载可以使运算符应用于自定义的数据类型。