后端岗位面试题更新 2026-08-05
C++中构造函数和析构函数哪个可以是虚函数,为什么?
地平线后端开发电子/半导体风险判断技术原理C++
考察说明
考察C++面向对象中虚函数机制与构造/析构语义的理解
回答思路
- 明确指出析构函数可以是虚函数,构造函数不能
- 解释构造函数不能为虚的原因(虚表未建立、类型未完全构造)
- 说明析构函数声明为虚的必要性(多态删除时正确调用派生类析构)
- 能够举例说明非虚析构导致的内存泄漏或未定义行为
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。