【问题标题】:Use of Virtual Destructor in C++ [duplicate]在 C++ 中使用虚拟析构函数 [重复]
【发布时间】:2020-07-06 18:31:52
【问题描述】:

虚和纯虚析构函数在C++中的应用是什么?在什么情况下我必须使用虚拟析构函数而不是普通析构函数?

【问题讨论】:

标签: c++ oop constructor virtual destructor


【解决方案1】:

当一个基类对象的指针被删除时,编译器会根据指针所指的对象的实际类型调用相应的析构函数。

如果基类析构函数不是虚函数,当基类指向派生类对象的指针被删除时编译器会自动调用基类的析构函数,而不考虑实际对象是否是基类的对象类。这可能导致内存泄漏。

【讨论】:

    猜你喜欢
    • 2016-08-14
    • 2017-01-27
    • 2015-12-30
    • 2017-08-13
    • 2011-08-12
    • 2014-06-23
    • 2012-10-24
    • 1970-01-01
    • 2012-09-21
    相关资源
    最近更新 更多