注册 登录
编程论坛 C++教室

继承的困惑

zhanghang123 发布于 2010-10-28 23:33, 431 次点击
在私有继承中,子类可以访问父类中的public成员吗?
4 回复
#2
ljt2010-10-29 17:21
私有继承只限于用在不准备让其它类继续继承此类时使用。
在私有继承中,并是说将父类的构造变成了私有函数,
事实上我们将子类对象当作两部分来看,父类对象和子类对象,父类对象
将对外界不可见,包括后续继承也不可见。子类对象的数据是否可见由
子类定义确定。
在后续的类定义中,如果发生继承,这个父类构造函数仍然会被调用,
只不过是在这个子类中调用。
举例来说
class   base
{
}
class   a;private   base
{
}
class   b:private   a
{
}
那么base中的内容对b而言是完全不可见,不可访问的,但不能说base部分没有被创建,事实上是a被创建之前就被创建起来了,最后才创建出b的对象来

构造顺序base-> a-> b.就是这样啦。
#3
2010-10-29 23:32
可以的  这个继承方式  对派生类来说  没什么关系   只是对派生类的派生有关系

不管什么方式继承  public protected  这两个权限的都能访问

#4
jianghong_022010-10-30 09:12
私有类是不能访问公有类,也不能被继承的,它的有效范围是在本程序段内有效…………
#5
玩出来的代码2010-10-30 16:19
自己试下什么就清楚了。
1