c++中<<运算符重载 friend ostream operator<<(ostream& out ,A const& a){} 对"<<"运算符的重载。 一般我们用的"<<"只能输出整型、实型等普通类型。 要想输出类类型,则必须对"<<"进行重载,其中一个参数为类类型对象。 为了方便对对象内部数据的操作,设置为friend友元函数。 为了能达到cout<<对象<<对象<<endl;的连续输出对象的效果,设置返回类型为引用。 参数:第一个为输出流对象。第二个为要输出的对象(为了防止产生临时对象、提高程序的效率,将参数设置为引用类型,但引用类型又能改变实参的值,所以设置为const)。 代码如下 1 #include <iostream> 2 using namespace std; 3 class A{ 4 public: 5 A(int arg = 10):m_var(arg){} 6 friend ostream& operator<<(ostream& os,A const& a){ 7 return os << a.m_var; 8 } 9 private: 10 int m_var; 11 }; 12 int main(void){ 13 A a; 14 cout << a << endl; 15 return 0; 16 }
|