1.运算符重载的语法:
2.在运算符重载中,运算符左侧的对象是调用对象,运算符右侧的对象是作为参数被传递的对象。重载运算符的目的是使程序员里目了然程序的作用,不要随便按照自己的意愿对运算符进行重载。
3. 重载运算符的限制:
1)重载后的运算符必须至少有一个操作数是用户定义的类型,这将防止用户为标准类型重载运算符。
2)使用运算符时不能违反运算符原来的语法规则。(及+,重载后的含义还要是加法,这样做的目的是增加程序的可读性,做到见名知义)
3)不能创建新运算符。例如,不能定义operater**()函数来表示求幂
4)有些运算符时不能重载的
5)有些运算符是既可以使用成员函数又可以使用非成员函数进行重载,但是有些运算符只能通过成员函数进行重载,比如 =,()函数调用运算符,【】下标运算符,->通过指针访问类成员的运算符
4.友元有三种: 友元函数,友元类,友元成员函数。通过让函数成为类的友元,可以赋予该函数与类的成员函数相同的访问权限。
5.
6.非成员版本的重载运算符函数所需的形参数目与运算符使用的操作数数目相同;而成员版本所需的参数数目少一个。因为其中的一个操作数是被隐士的传递的调用对象。