A 的构造函数 , 然后调用 B 的构造函数 , 最后调用 C 的构造函数 ;
参考 【C++】继承 ⑧ ( 继承 + 组合 模式的类对象 构造函数 和 析构函数 调用规则 ) 博客中 , 构造函数...子类 中覆盖 父类 的 析构函数 ;
场景说明 : A 类 是基类 , B 类 继承 A 类 ;
声明一个 A 类型 的指针变量 , 为其赋值 B 类型对象的地址 , 当需要释放该指针变量时 , 使用...类型的 析构函数 ;
释放 A 类型的指针 , 需要调用其子类 B 类型对象的 析构函数 , 此时需要将 A 类型 和 B 类型的 析构函数 声明为 虚析构函数 ;
3、虚析构函数语法
虚析构函数 的...;
当使用 父类 指针指向一个 子类 对象时 , 如果要通过 delete 释放该指针指向的对象 ,
如果是正常的析构函数 , 没有 使用 virtual 定义虚析构函数 , 则只会调用 父类 的 析构函数...在下面的代码中 , 将 父类 和 子类 的析构函数 , 都使用 virtual 关键字修饰 ;
声明 子类指针 指向 子类对象 , 释放 子类指针 时 先调用 子类析构函数 , 再调用父类析构函数 ;