C++----重载运算符和重载函数
2018-05-08 本文已影响13人
徐大哈_401d
C++ 允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。
重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。
当调用一个重载函数或重载运算符时,编译器通过把所使用的参数类型与定义中的参数类型进行比较,决定选用最合适的定义。选择最合适的重载函数或重载运算符的过程,称为重载决策。
C++ 中的函数重载
![](https://img.haomeiwen.com/i9816431/39b8f0983d50b642.png)
C++ 中的运算符重载
![](https://img.haomeiwen.com/i9816431/ab22f5efac6d8404.png)
![](https://img.haomeiwen.com/i9816431/efea109343f5b5eb.png)
当上面的代码被编译和执行时,它会产生下列结果:
Volume of Box1 : 210
Volume of Box2 : 1560
Volume of Box3 : 5400
可重载运算符/不可重载运算符
可重载的运算符列表:
![](https://img.haomeiwen.com/i9816431/1aa5fa36827c53c8.png)
不可重载的运算符列表:
![](https://img.haomeiwen.com/i9816431/ecc5b99f41cd7d50.png)