后端岗位面试题更新 2026-08-05
析构函数可以是虚函数吗?一定是虚函数吗?在哪些情况下应将其声明为虚函数?这是判断是否写成虚函数的条件吗?
中望软件后端开发专业服务风险判断技术原理C++
考察说明
考察C++析构函数与虚函数的关系、多态删除的边界及设计决策
回答思路
- 正确说明析构函数可以是虚函数,且基类析构函数通常应声明为虚函数
- 指出析构函数不一定是虚函数,并解释何时需要或不需要
- 说明通过基类指针删除派生类对象时,非虚析构可能导致未定义行为
- 阐述判断是否为虚析构的条件不单是'哪些情况',而是基类是否会被多态删除
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。