c++学习笔记:运算符重载

3月10日

1、运算符重载

1)加法运算符重载:

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

成员函数重载:

全局函数重载:

运算符重载的函数重载:

注意:(1)对于内置的数据类型的表达式的运算符是不可能改变的

        (2)不要滥用运算符重载

2)左移运算符重载

注意不能使用成员函数去重载左移运算符,无法实现,其实质是p.operator<<(cout) ;无法实现cout在左侧。

此时,因为<<被重载,如果在cout<<p1后面再加一个换行符<<endl会出错,有如下解决方案:

3)递增运算符重载(++)

使++能让自己定义的数据类型也能进行++操作;

4)重载赋值运算符

注意上面代码无法实现连等,若想实现p3=p2=p1,还需要将其重载函数的返回值做修改,如下:

5)关系运算符重载:可以实现两个自定义数据类型的对比操作

6)函数调用运算符重载()

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

仿函数非常灵活,可根据我们的需求来写任意的返回类型、传入数据类型、执行的操作等。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值