您的位置:首页 > 其它

公有继承 保护继承 私有继承

2016-03-02 20:15 190 查看
class TA

{

private:
int a;

protected:
int b;

public:
int c;

};//定义类TA;

class TB:public TA{};   //#1

class TB:protected TA{};  //#2

class TB:private TA{};   //#3

1.公有继承、保护继承、私有继承不会改变基类TA成员a b c在TB中的访问权限,即#1 #2 #3 三种场景下,TB的成员函数都只能范文b c.

2.公有继承、保护继承、私有继承会影响TB定义的对象及继承TB的类对a b c的访问权限。

(1)场景#1,a b c在TB中的访问权限不变,还分别是private protected public,则c可以被TB对象和TB的子类成员函数访问,b只能被TB的子类成员函数访问。

(2)场景#2,a b c在TB中的访问权限为private protected protected,b c能在TB子类成员函数中被访问,不能被TB对象直接访问。

(3)场景#3,a b c在TB中的访问权限为private private  private ,a b c不能被TB子类成员函数访问,也不能被TB对象直接访问。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: