运算符重载
1.声明与定义可以类比与成员函数。
//声明
bool operator >=(参数列表);
//定义
bool 类名:: operator >=(参数列表);
2.重载后三不变。
a.
运算符结合性不变。
b.
运算符操作数与运算顺序不变。
c.
不能为基本数据类型重载运算符。
3.不能重载的运算符:
成员访问符".",成员指针运算符 “*”,
域运算符“::”,条件运算符“?”,sizeof运算符。
运算符重载方式
1.类的成员函数。
2.类的友元函数。
小细节
1.如果运算符重载为类的成员函数,则必须通过对象来调用。
(
a.
单目运算符重载为类的成员函数时,要去范围内前置运算符与后置运算符。
b.
如果是前置则运算符重载没有参数
c.
后置则需要带一个整型参数,*但该参数不起任何作用,用来标志)
int operator ++();//前置函数
int operator ++(int);//后置函数
)
2.若运算符的左操作数不是当前累的对象,那只能声明为友元函数。
3.双目运算符通常重载为类的成员函数。
4.必须重载为类的成员函数的运算符:
“=”, “[ ]”, “( )”, “->”,
5.必须重载为类的友元函数的运算符:
“<<”, “>>”