#include<iostream>
#include<string>
using namespace std;
class myintegar
{
friend ostream &operator<<(ostream &cout, myintegar &p);
public:
myintegar()
{
m_num = 0;
};
myintegar operator++(int)
{
myintegar temp = *this;
m_num++;
return temp;
}
private:
int m_num;
};
ostream &operator<<(ostream &cout, myintegar &p)
{
cout << p.m_num ;
return cout;
}
void test02()
{
myintegar myint;
cout << myint++ << endl;
cout << myint << endl;
}
int main()
{
test02();
system("pause");
return 0;
}
有没有老哥能帮我看看我这个后置递增错在哪里了,为什么报错为:没有与这些操作匹配的"<<"运算符
而当我把myintegar operator++(int)改为myintegar &operator++(int)后,又可以运行,但是因为return返回的是temp显示的却是一串乱码数字,是因为myintegar &operator++(int)是返回引用的是地址,但是由于我没有解引用导致返回的是这个数字的地址吗?