1.重载运算符函数可以对运算符作出新的解释,但原有基本语义不变:
Ø不改变运算符的优先级
Ø不改变运算符的结合性
Ø不改变运算符所需要的操作数
Ø不能创建新的运算符
Ø运算符函数是一种特殊的成员函数或友元函数
Ø一个运算符被重载后,原有意义没有失去,只是定义了相对一特定类的一个新运算符
2.语法
Ø 成员函数的语法形式为:
类型 类名 :: operator op ( 参数表 )
{
// 相对于该类定义的操作
}
3.成员函数和友元函数重载:
Ø 运算符函数可以重载为成员函数或友元函数
Ø 关键区别在于成员函数具有 this 指针,友元函数没有this指针
Ø 不管是成员函数还是友元函数重载,运算符的使用方法相同。但传递参数的方式不同,实现代码不同,应用场合也不同
Ø当一元运算符的操作数,或者二元运算符的左操作数