#include <iostream>
using namespace std;
class Interger{
private:
int data;
public:
Interger(int d=0):data(d){}
Interger operator-()//取反
{
return Interger(-this->data);
}
Interger& operator++() //前++
{
++this->data;
return *this;
}
Interger operator++(int)//后++
{
return Interger(this->data++);
}
friend Interger& operator--(Interger &a);//友元的方法 ,前--
friend Interger operator--(Interger &a,int);//友元的方法 ,后--
friend ostream & operator<<(ostream &a,Interger &b);//重载<<
};
ostream &operator<<(ostream &a,Interger &b)
{
return a<<b.data;
}
Interger& operator--(Interger &a)
{
--a.data;
return a;
}
Interger operator--(Interger &a,int)
{
return Interger(a.data--);
}
int main()
{
Interger a=10;
Interger b=-a;
cout<<a<<endl;
cout<<b<<endl;
cout<<"以下是++运算符"<<endl;
++a;
cout<<a<<endl;
b=a++;
cout<<a<<endl;
cout<<b<<endl;
cout<<"以下是--运算"<<endl;
a=10;
b=10;
b=--a;
cout<<a<<endl;
cout<<b<<endl;
b=a--;
cout<<a<<endl;
cout<<b<<endl;
return 0;
}
代码仅供参考