CPP中的操作符重载

1、重载的运算符是具有特殊名字的函数,它们的名字由关键字 operator 和其后要定义的运算符号共同组成,和其他函数一样,重载的运算符也包含返回类型,参数列表以及函数体。

2、当一个重载的运算符是成员函数时, this 指针绑定到左侧运算对象上,成员运算符函数的显式参数数量比运算对象数量少一个。

3、对于重载的运算符,我们不能改变其原生的优先级和结合律。

4、取地址运算符,逻辑运算符,逗号运算符,前置与后置运算符不要重载,因为重载后会使得与原生含义或者行为不一致。

5、如果一个类重载了 == 运算符,那么也应该重载 != 运算符。

6、如果一个类重载了 < 运算符,那么他也应该重载其他关系运算符

7、重载运算符的返回类型通常情况下应该与内置版本的返回类型一致。逻辑运算符和关系运算符应该返回 bool ,算数运算符应该返回一个类类型的值,赋值运算符和复合赋值运算符应该返回左侧运算对象的一个引用。

8、= , [], (), ->运算符必须重载为成员函数,复合赋值运算符可以重载为非成员函数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值