运算符重载 返回类型说明符后加&_C++日志(三十八)干货!带你搞懂什么是运算符重载!...

4f5a0a36471f41bdf9971fd5aa34184b.png

一、为什么要进行运算符重载?

在C++中,运算符重载是重载多态的一种,重载多态是多态的一种。所以说,运算符重载只是多态这个概念中的一小部分。

在C++中,基本数据类型存在预定义的运算符,这些运算符和操作数结合形成表达式。表达式的执行方式是确定的,并不需要编写函数来控制执行方式。

实际上,对于自定义的类型,有时也需要进行类似“运算符”的计算。这时,如果不想使用函数调用的形式,就可以重载运算符

二、什么是运算符重载?

对于C++中已有的运算符,可以通过重载,使得统一运算符作用在不同类型上,产生不同的行为。简单的说,同一运算符含有几个重载的函数,就能产生几种不同的行为

运算符重载的执行过程为:将运算表达式转换为重载的函数调用,将表达式中的对象转换为重载的函数的实参,选择哪个重载的函数由对象类型来确定。

三、重载规则

运算符重载有下面几条非常重要的规则:

  • 只能重载C++中已有的运算符;
  • 不能重载:类属关系“.”、成员指针“.*”、作用域分辨“::”、三目“?:”这四个运算符;
  • 重载不改变运算符的优先级和结合性;
  • 重载的运算符至少有一个操作对象为自定义类型;

四、重载语法

C++中规定了两种重载方式,一种是类的非静态成员函数,另一种是非类的成员函数。两种方式的语法是相同的,都采用operator作为关键字,如下:

返回类型 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值