我们在创建一个虚继承的子类时是通过new一个子类来创建的,
但是我们把创建出来的这个子类赋值给了他的父类的一个指针!!!
如果子类的析构不是虚的,那么我们在delete这个父类指针时,在虚函数表里找不到子类的虚函数,那自然是调用父类的析构函数,子类的析构函数是没有被调用到的,这样自然是不对的。
在子类的析构是虚的后,析构时会在虚函数表里找到子类的虚函数,使其得到调用。
我们在创建一个虚继承的子类时是通过new一个子类来创建的,
但是我们把创建出来的这个子类赋值给了他的父类的一个指针!!!
如果子类的析构不是虚的,那么我们在delete这个父类指针时,在虚函数表里找不到子类的虚函数,那自然是调用父类的析构函数,子类的析构函数是没有被调用到的,这样自然是不对的。
在子类的析构是虚的后,析构时会在虚函数表里找到子类的虚函数,使其得到调用。