GESP 八级 · GESP 202509 C++ 八级 第 3 题

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

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

题目

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

答案:C

考点

函数

解题思维

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

常见错误

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

详细解析(节选)

【考点】C++类继承|抽象类定义|虚函数表

1.🎯考纲定位 本题考查 C++ 类继承与抽象类的核心概念。命题人卡住考生对纯虚函数与类实例化关系的理解——抽象类只能定义指针/引用,不能定义对象,但成员变量与虚函数并无冲突。

2.🧠解题思维 逐项推理:A 正确,派生类内存必包含基类数据及虚函数表指针;B 正确,派生类可选择不重写基类虚函数;D 正确,含纯虚函数即抽象类,无法实例化。C 错得离谱——抽象类的定义只限制实例化,与成员变量存储位置毫无关系,变量完全可以存在于抽象类中。

3.🪤陷阱拆解 陷阱在 C 项的偷换概念——抽象类只能定义指针/引用是正确的,但命题人故意混淆"实例化"与"成员存储"。如果你只背"抽象类不能定义对象"的结论,看到 C 项就下意识认为"不能定义成员",就会掉进这个语言陷阱。

4.🔄反命题思维 反命题视角:若改成"若类无纯虚函数,则能定义对象",答案会变吗?不会,因为定义对象的条件是"不含纯虚函数",与成员变量无关。刷到类似题,先问自己"命题人想考我什么",是考抽象类定义、虚函数重写、还是内存布局?

同考点真题

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