假设有类A,它的私有成员是一个整型变量a_
A a;
我们想要把它的私有成员直接用 cout<
我们把<<运算符重载为全局函数,在类A中设为友元,即可直接用cout输出。
关于自增运算符,要实现a++,++a;需要重载前置自增,后置自增运算符。
#includeusing namespace std; class A { friend ostream& operator<<(ostream& cout, A& A_); private: int a_num; public: A() = default; // 自动生成无参构造函数 A(int x) :a_num(x) {} // 构造函数 A& operator++() // 重载前置自增运算符 { a_num++; return *this; } }; ostream& operator<<(ostream& cout, A& A_) // 重载左移运算符 { cout << A_.a_num; return cout; } int main() { A a1(5); cout << "before:" << a1 << endl; cout << "after:" << ++a1 << endl; cout << "final:" << a1 << endl; system("pause"); return 0; }



