操作符函数及重载(1)

一.操作符函数

•在特定条件下,编译器有能力把一个由操作数和操作符共同组成的表达式,解释为对一个全局或成员函数的调用,该全局或成员函数被称为操作符函数

•通过定义操作符函数,可以实现针对自定义类型的运算法则,并使之与内置类型一样参与各种表达式

双目操作符表达式

一.成员函数

•形如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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值