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

构造函数为什么不可以是虚函数,析构函数为什么可以是虚函数?

字节游戏后端开发互联网/IT风险判断技术原理C++

考察说明

考察对C++对象生命周期、类型构造顺序和虚函数机制的理解

回答思路

  1. 解释虚函数依赖于虚表指针,而虚表指针在构造函数执行期间尚未正确建立
  2. 说明构造函数执行时对象类型为构造中的类型,调用虚函数不会触发多态
  3. 说明析构函数声明为虚函数可保证通过基类指针删除派生类对象时正确调用派生类析构函数
  4. 对比构造和析构阶段虚函数行为差异
本题已收录答题指导

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

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