1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
天蓬老师2017-04-17 12:00:01
试试这个
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
伊谢尔伦2017-04-17 12:00:01
你的理解有误
子类私有继承基类的protected/public,这个成员会变成子类的private成员,相当于变成
1 2 3 4 5 6 7 8 9 10 11 |
|
自己当然可以访问自己的私有成员了,所以私有继承的用法就是不仅让子类无法继承自己的private成员(所有类型的继承都是这样),而且自己的非private成员,也变成只能继承一次,防止了多层继承。
付一张表格
基类中 继承方式 子类中
public & public继承 => public
public & protected继承 => protected
public & private继承 = > private
protected & public继承 => protected
protected & protected继承 => protected
protected & private继承 = > private
private & public继承 => 子类无权访问
private & protected继承 => 子类无权访问
private & private继承 = > 子类无权访问
天蓬老师2017-04-17 12:00:01
C++ primer第五版P543&&P544
派生访问说明符,也就是私有继承,共有继承对于派生类的成员和友元来说没什么影响。
派生访问说明符的目的是控制派生类用户对于基类成员的访问权限。。额 有点抽象是吧,,没事,你看下书就知道了。。哈哈