如下图,
如果基类的析构函数不声明为virtual,基类指针指向子类对象,析构时就不会调用子类的析构函数,可能造成内存泄漏。
图1,基类的析构函数没有声明为virtual:
图2,基类的析构函数声明为virtual:
版权声明:本文为qqshuaishuai原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
如下图,
如果基类的析构函数不声明为virtual,基类指针指向子类对象,析构时就不会调用子类的析构函数,可能造成内存泄漏。
图1,基类的析构函数没有声明为virtual:
图2,基类的析构函数声明为virtual: