面向对向之继承和扫描顺序

继承:子类继承基类(父类),可以继承基类的所有公有成员,和受保护成员;基类的私有成员通过构造函数给子类继承,子类的构造函数要先给基类的构造函数传参,基类的构造函数先于子类的构造函数来执行。

扫描顺序:扫描类成员先从 自己身上扫描,如果有就使用,没有就向上扫描基类,如果没有扫描基类的基类..一直扫描到祖宗(Object),如果祖宗没有就报错;

普通基类多态:Engine里只有一个Play,N多动物都要答合Animal这样的形式,Animal是一个动物家族;virtual虚成员,子类对象可以重写这个方法;   扫描顺序: 子类身份声明的变量可以用子类对象赋值,先在自已身上扫描,如果有,并且是用virtual关键字修饰的,就转而向下扫描子类,如果子类中有同名的并且用override关键字修饰的方法就调用子类的方法,如果子类中没有这个方法或是子类有这个方法,但没有用override修饰就返回来调用基类身上的方法

原文地址:https://www.cnblogs.com/2boys/p/8733565.html