真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

輸出流運算符的重載疑點

今天看到流運算符重載的時候有幾個疑問,一是為何在只需聲明一次friend即可,而不是在兩個類之間都使用friend,二是為何不能重載為成員函數(shù)。

創(chuàng)新互聯(lián)建站專注于鎮(zhèn)寧企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。鎮(zhèn)寧網(wǎng)站建設(shè)公司,為鎮(zhèn)寧等地區(qū)提供建站服務(wù)。全流程按需策劃設(shè)計,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

第一個問題:都使用friend,函數(shù)需要訪問兩個類的私有成員

第二個問題:重載為了成員函數(shù),但應(yīng)用上出現(xiàn)了問題,詳情見代碼。

using std::ostream;
class a
{
public:


    ostream& operator<< (ostream & out)
    {
        out << x << y;
        return out;
    }
    
    

    friend ostream & operator<<(a & rhs, ostream & xout)
    {
        xout << rhs.x << rhs.y;
        return xout;
    }
    
    


    a(int s = 0, int q = 1)
        :x(s), y(q)        {    }

private:
    int x;
    int y;

};




int main()
{
        a b;
//     b.operator<<(std::cout);     //類的成員流運算符
//     std::cout << b;          //friend 流運算符重載
//     b << std::cout;          //friend 流運算符重載 或 成員流運算符的另一種形式
//     operator<<(b, std::cout);     //普通函數(shù)


    /*第一種<<的實現(xiàn)對1,3輸出均適用,
    1.  作為a類的成員函數(shù)
    2.  1不可以寫為2
    3.  1可以寫為3
    4.  operator<< 函數(shù)未實現(xiàn)
    
    第二種<<的實現(xiàn)對3,4適用
    1. operator<<是普通函數(shù),而非a的成員函數(shù)
    2. 位置反了
    3. 使用流運算符時,第一個參數(shù)在前
    4. 普通函數(shù)的使用,函數(shù)名加參數(shù)
    */
    return 0;
}

分享標(biāo)題:輸出流運算符的重載疑點
標(biāo)題路徑:http://weahome.cn/article/johigj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部