如何重载后置++啊:
#include<iostream>
using namespace std;
class Increase
{
public:
Increase(int x):value(x){}
Increase& operator++(int);
void display()
{
cout<<"the value is"<<value<<endl;
}
private:
int value;
};
Increase& Increase::operator++(int)
{
value++;
return *this;
}
void main()
{
Increase n(20);
n.display();//输出20
(n++).display();//输出21
n.display();//输出21
system("pause");
}
这重载的后置++我觉的不是完美的 应为这样的重载我个人觉的和前置重载++一样的 就是在原数据上+1;
我的问题是如何才能使 重载后置++跟平时的++一样向这样输出:
n.display();//输出20
(n++).display();//输出20
n.display();//输出21