大佬们,我刚写了个自加的重载运算符,为什么我写的前面自加的是对的,但是后面自加的就错了
#include
using namespace std;
class num
{
friend ostream& operator<<(ostream& cout, num& p);
public:
num();
num& operator++()
{
a++;
return *this;
}
num operator++(int)
{
num sign=*this;
a++;
return sign;
}
private:
int a;
};
num::num()
{
a = 10;
}
ostream& operator<<(ostream& cout, num& p)
{
cout << p.a;
return cout;
}
void fun()
{
num q;
cout << ++q << endl;
cout << q++ << endl;
}
int main()
{
fun();
return 0;
}