• c++ 运算符重载 (cin cout << >>)


    // <<  >> 运算符重载 写成全局函数
    
    // cin cout 对应类型 istream ostream
    // cout << classA << endl; 
    
    #include <iostream>
    
    using namespace std;
    
    class myClass
    {
    public:
        int m_c;
        int m_d;
        myClass(int a, int b):m_a(a), m_b(b) {};
        void set_number(int a, int b){ this->m_c = a; this->m_d = b;}
    
        // friend ostream& operator<<(ostream& out, myClass my); // 友元函数 访问私有成员
    
    private:
            int m_a;
            int m_b;
    };
    
    ostream& operator<<(ostream& out, myClass my)
    {
        out << "c:" << my.m_c << "  d:" << my.m_d << endl;
        // out << "a:" << my.m_a << "d:" << my.m_b << endl; // 私有成员 函数要作为友元函数
        return out;
    }
    
    istream& operator>>(istream& in, myClass& my) // 需要修改my的内容 引用传参
    {
        in >> my.m_c >> my.m_d;
        return in;
    }
    
    int main()
    {
        myClass my(1,1);
        my.set_number(12,34);
    
        cin >> my;
    
        cout << my << endl;
    
        return 0;
    }
  • 相关阅读:
    【日语】日语学习计划(转载)
    【日语】日语商务情景口语
    Nop常用知识点
    c#版在pc端发起微信扫码支付
    nopcommerce 常用属性验证
    @codeforces
    @codeforces
    @codeforces
    @codeforces
    @codeforces
  • 原文地址:https://www.cnblogs.com/didiaoxiaoguai/p/14852044.html
Copyright © 2020-2023  润新知