/ 析构函数 调用策略 , 在 继承 + 组合 的情况下 , 构造函数 与 析构函数 调用规则如下 :
构造函数 : 父类 -> 成员 -> 自身 ;
首先 , 调用 父类 构造函数 ;
然后 , 调用...的 主要作用是 , 使用 delete 运算符 释放对象时 , 引导 delete 预算符 释放 动态对象 ;
虚析构函数 Virtual Destructor 是特殊的 析构函数 , 该函数用于在...virtual ~Base() {}
};
4、虚析构函数意义
父类中使用了 虚析构函数 , 在 子类 中 , 必须 覆盖 父类 的虚析构函数 , 并且使用相同的函数签名 ;
如果 子类 没有提供自己的...析构函数 , 则编译器会自动生成一个 析构函数 , 该 析构函数 会首先调用 父类 的 析构函数 , 然后执行 子类 的 析构函数 ;
使用 虚析构函数 的目的是 确保在释放 子类 对象时正确地释放资源和调用析构函数...;
当使用 父类 指针指向一个 子类 对象时 , 如果要通过 delete 释放该指针指向的对象 ,
如果是正常的析构函数 , 没有 使用 virtual 定义虚析构函数 , 则只会调用 父类 的 析构函数