请问cpp中为什么不能输出重载后的后置递增运算符的值?
# include<iostream>
using namespace std;
class myInt
{
friend ostream& operator<<(ostream& cout,myInt& a);
private:
int m_num;
public:
myInt(){
m_num = 0;
};
//前置递增运算符重载
myInt& operator++(){
m_num++;
return *this;
}
//后置递增运算符重载
myInt operator++(int){//int是占位符
myInt temp = *this;
m_num++;
return temp;
}
};
//<<重载
ostream& operator<<(ostream& cout,myInt& a){
cout << a.m_num;
return cout;
}
ostream& operator<<(ostream& cout,myInt& a){
cout << a.m_num;
return cout;
}
int main(){
myInt m_int;
cout << m_int << endl;
cout << ++m_int << endl;
cout << m_int << endl;
cout << m_int++ << endl;
}