重载左移运算符
#include<iostream>
using namespace std;
#include<string>
//左移运算符重载
class Person
{
public:
//利用成员函数重载,左移运算符 p.operator(cout) 简化版本 p<<cout
//不会利用成员函数重载左移运算符,无法实现cout在左侧
// void operator<<(cout)
// {
//
// }
int m_A;
int m_B;
};
//只能利用全局函数重载左移运算符
ostream & operator<<(ostream &cout,Person &p)//本质 operator<<(cout ,p)简化为cout<<p
{
cout <<"m_A="<<p.m_A <<"m_B=" <<p.m_B<<endl;
}
void test01()
{
Person p1;
p1.m_A = 10;
p1.m_B = 10;
cout<<"p1.m_A= "<<p1.m_A<<endl;
cout<<"p1.m_B= "<<p1.m_B<<endl;
cout << p1 <<endl;
}
int main()
{
test01();
return 0;
}