GESP 六级 · GESP 202412 C++ 六级 第 2 题

选择题 · 答案 C · 考点:类与对象、函数

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

题目

以下关于 C++ 中类的说法,哪一项是正确的?

答案:C

考点

类与对象函数

解题思维

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

常见错误

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

详细解析(节选)

【考点】类与对象(GESP六级第4章)|访问权限|构造函数

命题人把这道题放在六级,就是卡住绝大多数考生对C++封装本质的理解偏差——他们总以为类成员默认公开,其实默认是private,所以C是唯一符合封装原则的选项。

看到题先问:类成员默认访问权限是什么?构造函数有返回类型吗?实例成员是共享还是独立?——A错在默认public,B错在构造函数无返回类型,D错在成员函数是静态定义、实例共享。只有C符合封装原则:数据私有、公有访问函数。

A的陷阱是‘默认public',命题人利用初学者C语言全局变量思维迁移;B的陷阱是‘构造函数必须有void',偷换函数定义概念;D的陷阱是‘各自拥有成员’,把类定义当成实例私有。C里‘唯一途径’看似绝对,但其实是封装的核心表述——如果只背结论,就会忽略‘私有数据+公有接口’这一对概念。

命题人若把‘默认public'改成‘默认private',A就对了;若把‘唯一途径’改成‘主要途径’,C仍对但表述更松;若把‘构造函数必须声明void'改成‘构造函数不能有返回类型’,B就错了。遇到类似题,先问:‘这道题想让我判断什么?’

同考点真题

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