• cin、cout的重载


    一、cin重载

      1.cin为ostream类的成员

      2.cin重载应为全局函数(毕竟ostream是别人写好的)

      3.代码

      a.核心代码

    ostream & operator<<(ostream &os,const A &a)//const A &a是为了避免复制函数的调用 ;ostream &o 相当于 cout 
    {
        o<<a.x<<" "<<a.y;
    return os; }
    //返回值设为ostream &是为了连续使用 <<

      b.完整试例

    #include<iostream>
    using namespace std;
    class A
    {
        int x;
        int y;
        public:
            A(int a=0,int b=0):x(a),y(b) {}
        friend ostream & operator<<(ostream & o,const A & a);//友元 
    };
    ostream & operator<<(ostream &o,const A &a)//const A &a是为了避免复制函数的调用 ;ostream &o 相当于 cout 
    {
        o<<a.x<<" "<<a.y; 
    }//返回值设为ostream &是为了连续使用 << 
    int main()
    {
        A a(1,2);
        cout<<a<<endl;
    }

    二、cout重载

       1.核心代码

    istream & operator>>(istream &is,A &a)
    {
        is>>a.x>>a.y;
        return is;
    }

       2.完整试例

    #include<iostream>
    using namespace std;
    class A
    {
        int x;
        int y;
        public:
            A(int a=0,int b=0):x(a),y(b) {}
            friend istream & operator>>(istream & is,A & a);
            friend ostream & operator<<(ostream & os,const A & a);//设置友元 是为了访问私有成员x,y 
    };
    ostream & operator<<(ostream &os,const A &a) 
    {
        os<<a.x<<" "<<a.y; 
        return os;
    } 
    istream & operator>>(istream &is,A &a)
    {
        is>>a.x>>a.y;
        return is;
    }
    int main()
    {
        A a;
        cin>>a;
        cout<<a<<endl;
        return 0;
    }
  • 相关阅读:
    java窗口按钮位置设置
    使用java语言编写窗口按钮
    添加无参的构造方法
    冒泡排序
    多态
    首页列表显示全部问答,完成问答详情页布局。
    制作首页的显示列表。
    发布功能完成。
    登录之后更新导航
    完成登录功能,用session记住用户名
  • 原文地址:https://www.cnblogs.com/shenyuling/p/10017485.html
Copyright © 2020-2023  润新知