虚析构函数

若子类继承基类两者析构函数不加virtual关键字此时调用函数 参数为基类指针指向子类对象 删除对象那么只会执行基类构造函数此时对于编译器而言你传进去的基类指针在函数体已经静态编译好为基类的构造函数

如果在基类的析构函数前加上virtual关键字此时对于子类的析构函数也会自动加上virtual关键字从而加入到虚函数表中再调用上面的函数会首先寻找调用子类的析构函数此时在子类的析构函数最后面编译器会自动执行基类的析构函数