#include <iostream>
using namespace std;
class MyInteger
{
friend ostream& operator<<(ostream& cout, MyInteger& my);
public:
MyInteger()
{
m_Num = 0;
}
//重载前置++运算符
MyInteger& operator++()
{
m_Num++;
return *this;
}
//重载后置++运算符
MyInteger operator++(int)
{
MyInteger temp;
temp = *this;
m_Num++;
return temp;
}
private:
int m_Num;
};
ostream& operator<<(ostream& cout, MyInteger& my)
{
cout << my.m_Num;
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;
}
为什么我把ostream& operator<<(ostream& cout, MyInteger& my)改成ostream& operator<<(ostream& cout, MyInteger my)
我的test02中的第一个《就报错,正常来说不都是要用引用吗
using namespace std;
class MyInteger
{
friend ostream& operator<<(ostream& cout, MyInteger& my);
public:
MyInteger()
{
m_Num = 0;
}
//重载前置++运算符
MyInteger& operator++()
{
m_Num++;
return *this;
}
//重载后置++运算符
MyInteger operator++(int)
{
MyInteger temp;
temp = *this;
m_Num++;
return temp;
}
private:
int m_Num;
};
ostream& operator<<(ostream& cout, MyInteger& my)
{
cout << my.m_Num;
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;
}
为什么我把ostream& operator<<(ostream& cout, MyInteger& my)改成ostream& operator<<(ostream& cout, MyInteger my)
我的test02中的第一个《就报错,正常来说不都是要用引用吗