1、抽象基类:像具体动物只有猫狗猪这样的具体对象,没有动物对象,我们不想让Animal生成对象,就要把该基类声明为抽象基类。具体方法就是在里面加上纯虚函数。例如:virtual void yoll()=0;
2、析构函数的调用顺序按照继承关系的反顺序
与构造函数调用顺序正好相反。
3、虚析构函数的作用
Animal* anim = new Dog;
delete anim;
delete anim; 如果基类中的析构函数不是虚函数,则将直接调用基类中的析构函数,不会调用派生类中的析构函数。