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

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

西山居绿盟后端开发游戏专业服务技术原理C++

考察说明

考察C++面向对象基础,理解虚函数机制与构造函数、析构函数的调用顺序

回答思路

  1. 明确指出构造函数不能是虚函数,析构函数可以且通常建议是虚函数
  2. 解释构造函数不能为虚的原因:虚函数依赖vtable指针,构造时对象尚未完整创建
  3. 解释析构函数为虚的必要性:通过基类指针删除派生类对象时避免未定义行为
本题已收录答题指导

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

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