您的位置:首页 > 其它

保护继承 和 各类继承关系的属性(图)

2010-08-26 04:57 99 查看
保护继承是私有继承的变体(使用关键字protected):
class student: protected std::string,protected std::valarray<double>
{...};

使用保护继承时,基类的公有成员和保护成员都将成为派生类的保护成员。基类的接口在派生类中也是可用的,但在继承层次结构之外是不可用的。

当从派生类派生出另一个类时,使用私有继承时,第三代类将不能使用基类的接口,这是因为基类的公有方法在派生类中将变成私有方法;使用保护继承时,基类的公有方法在第二代中将变成受保护的,因此第三代派生类可以使用它们。

下图总结了公有、私有和保护继承。隐式向上转换(implicit upcasting)意味着无需进行显示类型转换,就可以将基类指针或引用指向派生类对象。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐