您的位置:首页 > 编程语言 > C语言/C++

c++不同继承方式的访问权限

2016-03-13 16:32 351 查看
1. 对每一种继承方式而言,基类中的成员以相关的权限作为派生类中的成员,但权限只降不升.

Child1试图以public的方式继承Father中的成员A,B,C.

最终权限: A-----public  B-----protected  C-----private

所以,只有A能以public的权限过继给Child,而B成员和C成员均以它们原来的权限:protected, private过继给Child.

Child2试图以protected的方式继承Father中的成员A,B,C.

最终权限: A----protected  B----protected  C----private

Child3试图以private的方式继承Father中的成员A,B,C.

最终权限: A----private  B----private  C----private

2. 在派生类中无法访问其基类原有的private成员.

故在Child1,Child2,Child3类中均无法访问C,但均可访问A,B.

3. 在类的对象中,无法访问类的protected和private成员,

故Child1的对象无法访问B,C, Child2和Child3的对象无法访问A,B,C.

class Father{
public:
A;
protected:
B;
private:
C;
};

class Child1:public Father{
};

class Child2:protected Father{
};

class Child3:private Father{
};

Child1 child1;
Child2 child2;
Child3 child3;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 继承