C++类与对象之运算符重载

        好久不见,最近很忙,今天我们来学一下C++中非常重要的一部分:运算符重载。

运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型

那么具体该如何实现呢?让我写代码带大家实现一下。

一.加号运算符重载

作用:实现两个自定义数据类型相加的运算

1.成员函数实现加法运算符重载

2.全局函数实现加法运算符重载

 二.左移运算符重载

作用:可以输出自定义数据类型。

代码如下:

 

三.递增运算符重载 

我们知道递增运算符有两种,我们先写一段代码复习一下递增运算符的基本用法。

计算⼝诀:先+1,后使⽤;

 

口诀:先使⽤,后+1 

这里a先赋值,所以a++为0,之后在加1,得到1;

既然大家都知道了,我们开始重载递增运算符的讲解

代码如下:

四.赋值运算符重载 

1. 默认构造函数(无参,函数体为空)

2. 默认析构函数(无参,函数体为空)

3. 默认拷贝构造函数,对属性进行值拷贝

4. 赋值运算符 operator=, 对属性进行值拷贝

如果类中有属性指向堆区,做赋值操作时也会出现深浅拷贝问题

 

五.关系运算符重载

 重载关系运算符,可以让两个自定义类型对象进行对比操作,代码如下:

 六.函数调用运算符重载

函数调用运算符 ()  也可以重载

由于重载后使用的方式非常像函数的调用,因此称为仿函数

仿函数没有固定写法,非常灵活

 完喽!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C语言小白的基础课

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值