类的继承
internal 仅限本项目可以用,默认
protect 父类和子类中可以使用
private 子类中不可以直接使用,继承了,但是只能通过继承的public函数调用
public 子类中可以使用
特别的对于带参数的构造函数,子类不能继承父类,需要再重新写一个
重写
关键字 父类中要有virtual 子类中要override

抽象类--接口等
设计原则SOLID设计原则:单一职责原则、开闭原则、替换原则、接口隔离原则、依赖反转原则

抽象类:函数成员没有被完全实现的类
这个abstract是不能是private的,因为private没办法子类实现
抽象类不能实例(因为没有实现)
抽象类只能派生
抽象方法 纯虚函数
有可能留给子类的实现的函数,定义为抽象类

纯抽象类

上面的vehicleBase 就是纯抽象类。
这里就可以变成接口,接口函数要求是public类型,并且接口函数都是没有实现的


反射:
不使用new调用,下面是没有封装的反射


一般使用封装好的反射,依赖注入

driver初始化的时候不再需要输入车的类型,会自动连线已经设定的类型

