C++ Primer 笔记14. 重载运算与类型转换

输入输出重载

必须是非成员函数

C++ Primer 笔记14. 重载运算与类型转换

 

 

 

算术和关系运算符

+,-,*,/

C++ Primer 笔记14. 重载运算与类型转换

=,!=,>,>=,<,<=

C++ Primer 笔记14. 重载运算与类型转换

 

 

赋值运算符

赋值:

C++ Primer 笔记14. 重载运算与类型转换

 

复合赋值:

C++ Primer 笔记14. 重载运算与类型转换

 

 

下标运算符

必须是成员函数

  • 两个版本:

1.作用于常量对象,返回常量

C++ Primer 笔记14. 重载运算与类型转换

2.作用域非常量对象

C++ Primer 笔记14. 重载运算与类型转换

 

 

递增递减运算符

前置递增、递减:

C++ Primer 笔记14. 重载运算与类型转换

后置递增、递减:

C++ Primer 笔记14. 重载运算与类型转换

 

 

成员访问运算符

C++ Primer 笔记14. 重载运算与类型转换

 

 

函数调用运算符

C++ Primer 笔记14. 重载运算与类型转换

 

C++ Primer 笔记14. 重载运算与类型转换

逆序排序:

C++ Primer 笔记14. 重载运算与类型转换

function类型:

C++ Primer 笔记14. 重载运算与类型转换

定义函数表

C++ Primer 笔记14. 重载运算与类型转换

 

 

重载、类型转换与运算符

类型转换运算符:

C++ Primer 笔记14. 重载运算与类型转换

显示的类型转换运算符:

C++ Primer 笔记14. 重载运算与类型转换

例外:用作条件判断时将被隐式执行

  • 二义性:

1.同时存在以B为参数的A的构造函数以及B->A的类型转换运算符

2.同时存在转换乘不同的算数类型,且都无法精准匹配

3.重载时,不同构造函数都接受相同参数

需要显示调用