#include <iostream>
using namespace std;
class CPerson
{
public:
int m_nNum;
public:
CPerson()
{
m_nNum = 100;
}
public:
int operator=(int num) // 在类内重载,对象放在左边,符号右边的是参数
{
m_nNum = num;
return m_nNum; // 重载的符号需要有返回值,需要继续的和其他的符号结合
}
int operator+(int num)
{
return m_nNum+num;
}
};
// 对象在右边 要在类外重载需要两个参数,一个符号左边,一个符号右边
int operator+(int num,CPerson& ps)
{
return num+ps.m_nNum;
}
ostream& operator<<(ostream& os,CPerson& ps)
{
os << ps.m_nNum;
return os;
}
istream& operator>>(istream& is,CPerson& ps)
{
is >> ps.m_nNum;
return is;
}
int main()
{
CPerson aa;
aa = 200;
cout << aa.m_nNum << endl;
CPerson bb;
bb = aa = 300;
cout << bb.m_nNum << endl;
bb = aa+123;
cout << bb.m_nNum << endl;
bb = 123+aa;
cout << bb.m_nNum << endl;
cout << bb << endl;
cin >> bb;
cout << bb << endl;
system("pause");
return 0;
}
operator
最新推荐文章于 2022-03-21 10:34:23 发布