左移运算符重载
作用:可以输出自定义数据类型
示例:
//只能利用全局函数重载左移运算符
//本质operator<<(cout,P) 简化cout<<P;
//链式编程思想,经过简化后-》cout<<p<<p1; 第二个<<之前是一个函数,输入第二个<<之后,第一次的返回值就作为了operator<<(cout,P)的第一个参数。
ostream& operator<<(ostream& cout, Preson& P)
{
cout << "m_A = " << P.m_A << " m_B = " << P.m_B;
return cout;
}
注:如果类中元素是私有的(private),那么重载左移运算符可以配合友元(friend)使用。
全部代码:
#include <iostream>
using namespace std;
class Preson {
public:
//利用成员函数重载 左移运算符 本质:p.operator<<(cout) 简化:p<<cout;
//一般不会利用成员函数重载<<运算符,因为无法实现 cout再左侧
int m_A;
int m_B;
};
//只能利用全局函数重载左移运算符
//本质operator<<(cout,P) 简化cout<<P;
//链式编程思想,经过简化后-》cout<<p<<p1; 第二个<<之前是一个函数,输入第二个<<之后,第一次的返回值就作为了operator<<(cout,P)的第一个参数。
ostream& operator<<(ostream& cout, Preson& P)
{
cout << "m_A = " << P.m_A << " m_B = " << P.m_B;
return cout;
}
void test01()
{
Preson P1;
P1.m_A = 10;
P1.m_B = 10;
cout << P1 << endl;
}
int main()
{
test01();
system("pause");
return 0;
}