作用:可以输出自定义数据类型
代码如下:
#include <iostream>
using namespace std;
//左移运算符重载class Person {public:int m_A;int m_B;};ostream &operator<<(ostream &cout, Person &p) { //本质 operator<<(cout,p) 简化 cout << pcout << "m_A = " << p.m_A << " " << "m_B = " << p.m_B ;return cout;
}void test01() {Person p;p.m_A = 10;p.m_B = 10;cout << p << endl;}int main() {test01();system("pause");return 0;
}
但是一般不推荐这样写,我们一般在写一个类的时候,把成员属性设置为私有化。
代码如下:
#include <iostream>
using namespace std;
//左移运算符重载class Person {friend ostream &operator<<(ostream &cout, Person &p);public:Person(int a, int b) {m_A = a;m_B = b;}private:int m_A;int m_B;};ostream &operator<<(ostream &cout, Person &p) { //本质 operator<<(cout,p) 简化 cout << pcout << "m_A = " << p.m_A << " " << "m_B = " << p.m_B ;return cout;
}void test01() {Person p(10, 10);cout << p << endl;}int main() {test01();system("pause");return 0;
}