为什么虚继承的子类的析构也是虚函数

来源:互联网 发布:聂卫平 知乎 编辑:程序博客网 时间:2024/06/05 06:46

我们在创建一个虚继承的子类时是通过new一个子类来创建的,

但是我们把创建出来的这个子类赋值给了他的父类的一个指针!!!

如果子类的析构不是虚的,那么我们在delete这个父类指针时,在虚函数表里找不到子类的虚函数,那自然是调用父类的析构函数,子类的析构函数是没有被调用到的,这样自然是不对的。

在子类的析构是虚的后,析构时会在虚函数表里找到子类的虚函数,使其得到调用。

0 0
原创粉丝点击