C++运算符重载

运算符重载允许为已有的运算符赋予新的含义,适应不同数据类型的需求。例如,加号运算符重载用于自定义数据类型的相加,左移运算符重载常用于自定义类型的输出,而递增运算符重载则实现自定义整型的递增操作。赋值运算符重载需要注意深浅拷贝问题,特别是在处理堆区资源时。此外,关系运算符重载使得自定义类型对象可以进行比较,函数调用运算符重载则创建了仿函数的概念,提供类似函数调用的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

加号运算符重载

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

左移运算符重载

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

 

总结:重载左移运算符配合友元可以实现输出自定义数据类型 

递增运算符重载

 

作用:通过重载递增运算符,实现自己的整型数据

总结:前置递增返回引用,后置递增返回值

赋值运算符重载

c++编译器至少给一个类添加4个函数

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

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

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

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

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

关系运算符重载

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

函数调用运算符重载

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

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

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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值