#include<iostream>
using namespace std;
class Counter{
public:
Counter(int i=0){
v=i;
}
Counter operator ++ ();//前置
Counter operator ++ (int);//后置//这里只有个int或者定义个形参都行。双目参数是类,单目是引用(不知道对不对)
void Display(){
cout<<v<<endl;
}
private:
int v;
};//参数需要是类对象或者对象的引用
Counter Counter::operator ++(){
++v;
return *this;
}
Counter Counter::operator ++(int){//后置运算符是先返回再自增,所以创建一个临时对象保存一下,再返回那个临时对象
Counter t;
t.v=v++;
return t;
}
int main(){
Counter c1(5),c2(5),c3,c4;
c3=c1++;
c4=++c2;
c3.Display();
c4.Display();
return 0;
}