继承和派生是同一个过程从不同角的度看
保持已有类的特性而构造新类的过程称为继承。
在已有类的基础上新增自己的特性而产生新类的过程称为派生。
被继承的已有类称为基类(或父类)。
派生出的新类称为派生类(或子类)。
直接参与派生出某类的基类称为直接基类。
基类的基类甚至更高层的基类称为间接基类。
派生类名 继承方式 基类名
class derived: public base
{
}
派生类名 继承方式 基类名,继承方式 基类名
class derived: public base1,private base2
{
}
派生类中的成员函数:可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员;
通过派生类的对象:只能访问public成员。
派生类中的成员函数:可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员;
通过派生类的对象:不能直接访问从基类继承的任何成员。
派生类中的成员函数:可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员;
通过派生类的对象:不能直接访问从基类继承的任何成员
//公有继承??????????????????????对象访问????成员访问
public????-->??public??????????????Y?????????Y
protected -->??protected? ? ?N?????????Y
private???-->??private? ? ? ? ? ? ?N?????????N
?
//保护继承??????????????????????对象访问????成员访问
public????-->??protected???????????N?????????Y
protected -->??protected? ? ? ? N?????????Y
private???-->??protected???????????N?????????N
?
//私有继承??????????????????????对象访问????成员访问
public????-->??private?????????????N?????????Y
protected -->??private? ? ? ? ? N?????????Y
private???-->??private?????????????N?????????N
原文:https://www.cnblogs.com/penuel/p/13150623.html