亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 再問有關友元和繼承的一些問題 [打印本頁]

作者: cir2633    時間: 2009-12-07 21:52
標題: 再問有關友元和繼承的一些問題
以前的帖子沒搞明白:http://topic.csdn.net/u/20091204/16/440ccc4a-9a49-401a-984f-06f787a8aa3b.html?seed=1506412902&r=61706661#r_61706661

//--問題如下----------------------------------

class Base{
        friend class Frnd;
public:
        int pub_val;
protected:
        int pro_val;
private:
        int pri_val;
};

class public_derived : public Base {
};

class protected_derived : protected Base {
};

class private_derived : private Base {
};

class Frnd{
public:
        int i;
        int mem1(protected_derived d) {return d.pub_val;}  //-1
        int mem2(protected_derived d) {return d.pro_val;}  //-2
//      int mem3(protected_derived d) {return d.pri_val;}
//      int mem1(private_derived d) {return d.pub_val;}
//      int mem2(private_derived d) {return d.pro_val;}
//      int mem3(private_derived d) {return d.pri_val;}

};
被注釋掉的是錯誤的地方, 但是標注1和2可以編譯過,
Frnd是Base的友元,友元關系不得繼承;
所以Frnd不是public_derived類的友元,但是Frnd卻訪問了public_derived類的protected和private成員,
我有點不理解




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2