在C++中为多态基类声明虚析构函数
多态是面向对象编程中的一个重要概念,它允许我们通过基类的指针或引用来访问派生类的对象,并且在运行时确定要调用的函数。在使用多态时,如果基类中含有动态分配的资源(如堆内存),我们需要确保正确地释放这些资源,以避免内存泄漏。为了实现正确的资源释放,我们需要在基类中声明虚析构函数。
虚析构函数是一个在基类中声明为虚函数的析构函数。它允许我们在基类指针或引用指向派生类对象时,通过基类的指针或引用调用析构函数时,能够正确地调用派生类的析构函数。这是因为在C++中,通过基类指针或引用调用虚函数时,会根据实际对象的类型来确定要调用的函数。
下面是一个示例程序,演示了如何为多态基类声明虚析构函数:
#include <iostream>
class Base