怎样在C++中重载++运算符?

个人学习笔记

我们知道在C++中重载运算符是很方便的,尤其是类对象之间的运算尤为方便。但是在重载的运算符中有一个比较特殊,就是++和--运算符。

我们拿++运算符(重载用于类对象之间的运算)来说,这个是存在前++和后++的,我们怎么在使用时辨识这两个++呢?在重载时又要注意什么问题呢?

当我们重载一个运算符时,尽量不要失去原有的神韵,也就是说不要失去了原来的本意最好。于是我们先看看重载前的++运算符怎么使用:

#include <iostream>
using namespace std;
int main()
{
    int a = 2;
    int b = a++;//此时b的值为2
    int c = ++a;//此时c的值为4
    cout<<b<<' '<<c<<endl;
    //int d = a++++;  //error
    int e = ++++a;
    cout<<e<<endl;
    return 0;
}

我们通过上面这个小程序了解了一些信息:后++是不能连用的,但是前++可以的。

我们得想想这对我们重载我们自己的++有什么启示。也就是说当我们只是一次++时,是要返回一个值的,既然能够使用,所以这个值我们是可以拿过来修改的,同理,既然后++不能连用,这就意味着其返回值是不能修改的。分析完我们开始重载。

通过上面的例子我们想我们重载前++还是比较简单的,于是我们先来开始重载前++。

#include <iostream>
using namespace std;
class Complex
{
private:
    float a;
    float b;
public:
    Complex(float _a=0,float _b=0)//赋初值为零
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值