继承就是子类拥有父类的所有成员(变量\函数)
C++中没有像Java、Objective-C的基类(即最开始的类继承自Object),只有父类和子类,子类继承自父类,父类没有继承任何一个类
继承之对象内存布局
下面代码,有3个依次继承的类,子类和父类中的成员在内存中是怎么排列的呢?
父类的成员变量在前,子类的成员变量在后
成员访问权限和继承方式
class定义类成员默认privated,struct定义类成员默认public
class定义类继承默认privated,struct定义类继承默认public
成员访问权限、继承方式有3种
public:公共的,任何地方都可以访问(struct默认)
protected:子类内部、当前类内部可以访问
private:私有的,只有当前类内部可以访问(class默认)
子类内部访问父类成员的权限,是以下2项中权限最小的那个:
1.成员本身的访问权限
2.上一级父类的继承方式
若成员本身访问权限是私有,上一级父类是共有继承,依旧无法访问
** 开发中用的最多的继承方式是public,这样能保留父类原来的成员访问权限**
访问权限不影响对象的内存布局