首页 > 代码库 > 条款42: 明智地使用私有继承

条款42: 明智地使用私有继承

第一个规则是,和公有继承相反,如果两个类之间的继承关系为私有,编译器一般不会将派生类对象(如Student)转换成基类对象(如Person)

第二个规则是,从私有基类继承而来的成员都成为了派生类的私有成员,即使它们在基类中是保护或公有成员,即派生类对象不能访问基类的所有成员

class person{};class student :private person{};void dance(const person &p);person p;student s;void main(){    dance(p);//正确    dance(s);//出错}

 

条款42: 明智地使用私有继承