C++ 运算重载符的简单阐述

  1. 运算符重载是一种形式的C++多态
  2. 多态指的是用户能够定义多个名称相同但特征标(参数列表)不同的函数

为什么要使用运算符重载

  1. 让不同的数据类型拥有一样的操作运算符,想象一下如果必须对不同的物体使用不同的动词,比如同一个动作,如果提起左脚和提起汤匙得分别用两个不一样的动词lift_lftlift_sp,那英语讲会变得无比复杂。
  2. c语言的运算符重载,比如 * 既表示乘法,也在指针中表示取值

如何使用运算符重载

运算符重载的定义

在这里插入图片描述
             图1:正常的求和函数
在这里插入图片描述
             图2:使用了运算符重载的求和函数

从上图中我们知道,就是把求和函数改成operator+即可,运算符重载的格式为

operator+ //operator是重载关键字,+表示你要重载的符号

运算符重载的使用

由前文我们已经重载了运算符+了,把一个类里面的求和函数sum重载成了+,我们我们来使用一下我们重载的符号。

对于前文的如果没有重载运算符我们会使用如下代码,比如我们

Time a;
Time b;
Time c;
c=a.sum(b);

而使用了重载运算符我们则可以使用如下代码

Time a;
Time b;
Time c;
c+a+b;//方法1
//或
c=a.operator+(b);//方法2

上述的方法1和方法2的效果是一样的,其中方法2是使用了非重载运算符的方法

多次运算

在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值