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

构造函数为什么不是虚函数?

优酷后端开发互联网/IT技术原理C++

考察说明

考察对C++虚函数机制、对象生命周期与构造过程的理解

回答思路

  1. 说明虚函数依赖虚表指针,而虚表指针在构造函数执行前尚未正确初始化
  2. 解释构造函数执行时对象类型仍处于构造中的基类阶段,虚调用不会分发到派生类
  3. 指出构造函数若为虚则无法确定对象创建的实际类型,虚构造在逻辑上无法实现
  4. 补充析构函数应为虚函数以正确释放派生类资源,与构造函数形成对比
本题已收录答题指导

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

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