C++中的operator

1.operator的介绍

       它是一个操作符,具有对运算符进行重载的功能,就必然说,你定义了两个int类型的变量,你可以直接进行加减,因为系统知道如何对这样的类型进行处理,而如果你定义的是两个自定义类型的变量,则我们就不能直接对两个变量相加减

列如上图(Date是自定义类型)

2.operator操作符的作用

       此时如果我们要对两个自定义类型进行相加减,我们就应该对“+”或者“-”进行重载,因为对于日期而言,相加并没有太大的实际意义,所以我们对“-”进行重载。

此时我们以在类外部重载为例

      因为日期相减的结果是相差的天数,所以返回值定义为int ,而函数名便是operator+重载的符号

圆括号的内容是作用对象的类型

花括号里便是如果使用符号的规则

并且相加减的内容不一定是同一个类型,所以还可以对一个符号进行多次重载

     因为此时是日期减天数,所以圆括号的内容是Date和int,并且由于两个相减的内容是日期,所以返回值便是Date

此时看到直接相加减自定义类型也不会再发生报错

3.在类中operator的使用

因为在类中,所以不需要传自定义的参数,以“-=”为例

 此时

参数只有天数,最后返回的是this指针的解引用的内容,所以不会产生野指针的问题。 

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值