GESP 七级 · GESP 202506 C++ 七级 第 3 题

选择题 · 答案 B · 考点:函数

← 整套速查表 GESP 七级 全部真题

题目

下列关于 C++ 类的说法,错误的是( )。

答案:B

考点

函数

解题思维

C++类:构造函数(对象创建时调用)、析构函数(对象销毁时调用)、虚函数(实现多态)。构造函数不能为虚。

常见错误

构造函数不能是虚函数(虚表在构造函数完成后才建立)。析构函数可以且通常应该为虚函数(防止内存泄漏)。

详细解析(节选)

【考点】构造函数调用顺序|虚析构函数|多态性

GESP 七级必考继承体系,命题人专考"构造函数链式调用"这一易被忽视的底层机制,卡住那些只懂语法却不懂对象构造流程的考生。

看到选项 B 这种"只调用派生类构造函数"的绝对化表述,立刻意识到违反构造顺序铁律——派生类对象必须先初始化基类部分,基类构造函数必然执行,否则基类成员将处于未初始化状态。

选项 A 的陷阱在于"虚析构函数"是 C++ 唯一正确做法,但很多人误以为只要基类有析构函数就行;选项 C 的陷阱在于虚函数表机制,派生类对象通过基类指针调用基类虚函数时,虚函数表指针仍指向基类表,因此能调基类实现;选项 D 的陷阱在于基类指针可以指向派生类对象,这是指针兼容性的基本常识。

把 B 改成"构造派生类对象时,基类构造函数先于派生类构造函数执行"就是正确命题,可见命题人正是利用考生对构造顺序的模糊认知设下陷阱。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断