1.继承:代码重用
派生:代码的改造
public继承:
基类的public和protected成员做子类的public和protected成员,而基类的private成员不可直接访问;基类public成员,子类可以通过子类内部访问该成员,也可以通过子类对象(类外)访问该成员;基类protected成员,可以通过子类内部访问该成员,但不能通过子类对象(外部)访问该成员。
private继承:
基类中的public和protected成员都以私有成员身份在子类中,而基类私有私有成员在子类中肯定是不可直接访问的;也就是说基类的public和protected成员被继承后作为子类的私有成员,子类其他成员可以访问,但子类对象是无法直接访问的。
protected继承:
基类的public和protected成员以保护成员(protected)出现在子类中,而基类私有成员还是不可直接访问;所以子类的其他成员可以直接访问基类继承来的public和protected成员,但是子类对象无法直接访问(到目前为止和private继承相同)。
2.虚基类
3.赋值兼容性原则