不会利用成员函数重载左移运算符:
利用全局函数重载左移运算符:
#include<iostream>
#include<string>
using namespace std;
class Person
{
friend ostream& operator<<(ostream& cout, Person& p);
public:
Person(){}//默认构造
Person(int a, int b)//定义有参构造赋初值
{
m_A = a;
m_B = b;
}
private:
int m_A;
int m_B;
};
//全局函数的重载+
ostream& operator<<(ostream& cout, Person& p)
{
cout << "m_A=" << p.m_A << " m_B=" << p.m_B << endl;
return cout;
}
void test01()
{
Person p(10, 10);
cout << p << endl;
}
int main()
{
test01();
}
总结: