我们知道在C++中重载运算符是很方便的,尤其是类对象之间的运算尤为方便。但是在重载的运算符中有一个比较特殊,就是++和--运算符。
我们拿++运算符(重载用于类对象之间的运算)来说,这个是存在前++和后++的,我们怎么在使用时辨识这两个++呢?在重载时又要注意什么问题呢?
当我们重载一个运算符时,尽量不要失去原有的神韵,也就是说不要失去了原来的本意最好。于是我们先看看重载前的++运算符怎么使用:
#include
using namespace std;
int main()
{
int a = 2;
int b = a++;//此时b的值为2
int c = ++a;//此时c的值为4
cout<
//int d = a++++; //error
int e = ++++a;
cout< return 0; } 我们通过上面这个小程序了解了一些信息:后++是不能连用的,但是前++可以的。 我们得想想这对我们重载我们自己的++有什么启示。也就是说当我们只是一次++时,是要返回一个值的,既然能够使用,所以这个值我们是可以拿过来修改的,同理,既然后++不能连用,这就意味着其返回值是不能修改的。分析完我们开始重载。 通过上面的例子我们想我们重载前++还是比较简单的,于是我们先来开始重载前++。 #include using namespace std; class Complex { private: float a; float b; public: Complex(float _a=0,float _b=0)//赋初值为零 :a(_a),b(_b) {} void dis(); Complex& operator ++(); }; void Complex::dis() {