#include<iostream>
using namespace std;
//--运算符的重载,前置重载和后置重载
class MyInteger
{
friend ostream &operator<<(ostream& cout, MyInteger& p);
public:
MyInteger()
{
m_Num = 10;
}
//前置递减的重载
MyInteger& operator--()
{
--m_Num;
return *this;
}
//后置递减的重载
MyInteger operator--(int)
{
MyInteger tmp = *this;
m_Num--;
return tmp;
}
private:
int m_Num;
};
ostream &operator<<(ostream& cout, MyInteger &myint)
{
cout << myint.m_Num << endl;
return cout;
}
void test01()
{
MyInteger myint;
cout << --myint<< endl;
cout << myint<< endl;
}
void test02()
{
MyInteger myint;
cout << myint-- << endl;
cout << myint << endl;
}
int main()
{
test01();
test02();
system("pause");
return 0;
}
故障截图: