后端岗位面试题更新 2026-08-05

在什么情况下应该把 C++ 析构函数声明为虚函数?如果不声明为虚函数会有什么后果?

北京经纬恒润科技股份有限公司后端开发专业服务技术原理C++

考察说明

考察多态与资源释放的正确性理解

回答思路

  1. 说明基类析构函数需要虚化的典型场景,即通过基类指针删除派生类对象
  2. 解释虚析构函数与虚函数表、动态绑定的关系
  3. 说明非虚析构时派生类析构函数不被调用导致的资源泄漏或未定义行为
  4. 区分虚构函数是普通虚函数但析构顺序特殊
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。