您的位置:首页 > 编程语言 > C语言/C++

C++中析构函数为什么有时候写成虚拟的

2017-10-14 17:22 302 查看
参考了网上的文章:http://blog.csdn.net/starlee/article/details/619827?reload

在一个类作为基类的时候,又创建(new)一个子类,当用基类指向这个新创建的子类,进行到delete基类对象的时候,如果基类的析构函数没有写成虚拟的,则调用的就只有基类的析构函数,而不会调用子类的析构函数,造成内存泄漏!

虚拟函数就是实现了动态编译的特点,如果写成虚拟的,自然就会找到实际的对象(父对象还是子对象),析构的时候也就可以找到真正需要析构的函数。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  虚拟析构函数