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

父指针指向子类,父类构造函数中调用虚函数,子类已重写该虚函数,此时实际调用的是哪个版本?

诺瓦星云后端开发电子/半导体技术原理问题排查C++

考察说明

考察C++对象构造顺序与虚函数动态绑定机制

回答思路

  1. 明确构造期间对象类型为当前构造阶段对应的类,父类构造时还未进入子类阶段
  2. 说明虚表指针在当前类构造时被初始化,虚函数调用按当前类的虚表解析
  3. 解释若父类构造函数调用虚函数,会调用父类的版本而非子类重写版本
  4. 能举出实际场景并说明避免在构造函数中调用虚函数的建议
本题已收录答题指导

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

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