作用:可以輸出自定義數據類型
*/
//目標 調用p1,輸出Person 中的屬性 m_A ,m_B :?
/*
#### 4.5.2 左移運算符重載 “<<” 左移運算符
作用:可以輸出自定義數據類型
*///目標 調用p1,輸出Person 中的屬性 m_A ,m_B : class Person
{friend ostream& operator<<(ostream& out, Person& p);
public:Person(int a , int b) {this->m_A = a;this->m_B = b;};private:int m_A; int m_B;
};//全局函數實現左移重載
//ostream對象只能有一個ostream& operator<<(ostream& out, Person& p) {out << "a : " << p.m_A << "b: " << p.m_B;return out;//本質內部無限可以往后追加
}void test() {Person p1(10, 20);cout << p1 << " hello world " << endl; //鏈式編程}int main() {test();system("pause");return 0;
}//總結:重載左移運算符配合友元可以實現輸出自定義數據類型