的 主要作用是 , 使用 delete 运算符 释放对象时 , 引导 delete 预算符 释放 动态对象 ;
虚析构函数 Virtual Destructor 是特殊的 析构函数 , 该函数用于在...类型的 析构函数 ;
释放 A 类型的指针 , 需要调用其子类 B 类型对象的 析构函数 , 此时需要将 A 类型 和 B 类型的 析构函数 声明为 虚析构函数 ;
3、虚析构函数语法
虚析构函数 的...析构函数 , 则编译器会自动生成一个 析构函数 , 该 析构函数 会首先调用 父类 的 析构函数 , 然后执行 子类 的 析构函数 ;
使用 虚析构函数 的目的是 确保在释放 子类 对象时正确地释放资源和调用析构函数...;
当使用 父类 指针指向一个 子类 对象时 , 如果要通过 delete 释放该指针指向的对象 ,
如果是正常的析构函数 , 没有 使用 virtual 定义虚析构函数 , 则只会调用 父类 的 析构函数...虚析构函数
1、代码示例 - 没有使用虚析构函数导致子类析构函数无法调用
在下面的代码中 ,
声明 子类指针 指向 子类对象 , 释放 子类指针 时 先调用 子类析构函数 , 再调用父类析构函数 ;
声明