(1)对于前置递增和后置递增可以通过递增运算符重构来实现
可以实现一下例子
using namespace std;
int main()
{
int a=10;
cout<<a++<<endl;
cout<<a<<endl;
int b=10;
cout<<++b<<endl;
cout<<b<<endl;
}
【1】实现前置递增:
using namespace std;
class myteger{
friend ostream& operator<<(ostream& cout,myteger p);
public:
myteger(){
m_Num=0;
}
myteger& operator++(){
m_Num++;
return *this;
}//记住返回引用,不是返回值
private:
int m_Num;
};
ostream& operator<<(ostream& cout,myteger p){
cout<<p.m_Num;
return cout;
}
void test01(){
myteger myint;
cout<<myint<<endl;
cout<<++myint<<endl;
cout<<myint<<endl;
}
int main()
{
test01();
}

【2】实现后置递增
和前置引用略有不同,记住后置引用返回的是值
using namespace std;
class myteger{
friend ostream& operator<<(ostream& cout,myteger p);
public:
myteger(){
m_Num=0;
}
myteger& operator++(){
m_Num++;
return *this;
}
myteger operator++(int)//占位参数,用于区别前置的符号重构函数
{
myteger temp=*this;
m_Num++;
return temp;
}
private:
int m_Num;
};
ostream& operator<<(ostream& cout,myteger p){
cout<<p.m_Num;
return cout;
}
void test01(){
myteger myint;
cout<<myint<<endl;
cout<<++myint<<endl;
cout<<myint<<endl;//前置引用例子
cout<<myint++<<endl;
cout<<myint<<endl;//后置引用例子
}
int main()
{
test01();
}
