分享

c++中<<运算符重载 friend ostream operator<<(ostream& out ,A const& a){}

 GLL_ 2018-06-10
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 }  


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多