作用:输出自定义类型
//左移运算符重载
class Person
{
friend ostream& operator<<(ostream& cout, Person& p);
public:
Person(int a, int b)
{
m_A = a;
m_B = b;
}
private:
//成员函数重载
//通常不会利用成员函数重载<<运算符
//因为无法实现cout在左侧
/*void operator << (Person &p)
{
}
*/
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;
return cout;
}
void test01()
{
Person p(10,10);
cout << p << endl;;
}
注:cout其实是一个ostream类的对象,向标准输出写入数据。
<<运算符用来向一个ostream对象写入输出数据。
ostream(输出流)类型,提供输出操作。