文章目录 重载运算与类型转换 1.重载运算 1.1 重载为成员函数 1.2 重载为非成员函数 1.3 不应重载的运算符 1.4 可被重载的运算符 1)输入输出运算符 1.1)重载的输出(<<)运算符 1.2)重载的输入(>>)运算符 2)算术和关系运算符 2.1)算术运算符 2.2)相等运算符 2.3)不相等运算符 2.4)小于运算符 3)赋值和复合赋值运算符 3.1)赋值运算符 3.2)复合赋值运算符 4)下标运算符 5)递增递减运算符 5.1)前置递增递减 5.2)后置递增递减 6)成员访问运算符 6.1)解引用 6.2)箭头 7)函数调用运算符 8)类型转换运算符 8.1)隐式类型转换运算符 8.2)显示类型转换运算符 2.二义性类型转换 2.1 转换二义性 1)两个类提供相同的类型转换 2)类定义了多个转换规则,而这些转换涉及的类型本身可以通过其它类型转换联系在一起 2.2 避免转换出现二义性 重载运算与类型转换 1.重载运算 重载为成员函数 某些时候别无选择,必须作为成员(=、[]、()、->) 某些时候作为成员更好(+=、-=、*-、++、--…) 重载为非成员函数 某些时候作为普通函数更好(+,*) 某些时候必须作为普通函数 <