操作符函数及重载(1)
2017-08-04 14:50
267 查看
一.操作符函数
•在特定条件下,编译器有能力把一个由操作数和操作符共同组成的表达式,解释为对一个全局或成员函数的调用,该全局或成员函数被称为操作符函数•通过定义操作符函数,可以实现针对自定义类型的运算法则,并使之与内置类型一样参与各种表达式
双目操作符表达式
一.成员函数•形如L#R的双目操作符表达式,将被编译器解释为
–L.operator# (R) 左操作数是调用对象,右操作数是参数对象
–a - b + c a.operator- (b).operator+ (c) –a - (b + c) a.operator- (b.operator+ (c)) –a - b * c a.opertor- (b.operator* (c))
二.全局函数
•形如L#R的双目操作符表达式,将被编译器解释为
–::operator# (L, R) 左操作数是第一参数,右操作数是第二参数
–a - b + c ::operator+ (::operator- (a, b), c) –a - (b + c) ::operator- (a, ::operator+ (b, c)) –a - b * c ::operator- (a, ::operator* (b, c))
单目操作符表达式
一.成员函数•形如#O或O#的单目操作符表达式,将被编译器解释为
–O.operator# () 唯一的操作数是调用对象
– -a a.operator- () – ++a a.operator++ () – a++ a.operator++ (0)
二.全局函数
•形如#O或O#的单目操作符表达式,将被编译器解释为
–::operator# (O) 唯一的操作数是参数对象
– -a ::operator- (a) – ++a operator++ (a) – a++ operator++ (a, 0)
相关文章推荐
- 操作符函数及重载(3)
- 操作符函数及重载(4)
- 操作符函数及重载(5)
- 重载的操作符成员函数与非成员函数
- 调用操作符的重载与函数对象
- 调用操作符的重载与函数对象
- 调用操作符的重载与函数对象
- 【C++面向对象】函数操作符()的重载
- C++ 重载调用操作符和函数对象
- 22、不一样的C++系列--函数调用操作符的重载
- 操作符函数及重载(2)
- 35-函数对象分析-()操作符的重载
- C++学习之路(2) C++输入输出 new delete操作符 函数重载
- Const 重载解析(const参数重载 和 const成员函数重载)
- C++中括号()操作符的重载举例及解析
- c++的函数的重载原理分析和调用约定
- c++操作符重载_12
- 类的成员函数及重载
- javascript.全局函数.函数的重载
- C++成员函数的重载,继承,覆盖和隐藏