后端岗位面试题更新 2026-08-05
构造函数与析构函数可不可以是虚函数?为什么?
西山居绿盟后端开发游戏专业服务技术原理C++
考察说明
考察C++面向对象基础,理解虚函数机制与构造函数、析构函数的调用顺序
回答思路
- 明确指出构造函数不能是虚函数,析构函数可以且通常建议是虚函数
- 解释构造函数不能为虚的原因:虚函数依赖vtable指针,构造时对象尚未完整创建
- 解释析构函数为虚的必要性:通过基类指针删除派生类对象时避免未定义行为
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。