GESP 六级 · GESP 202309 C++ 六级 第 4 题

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

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

题目

下面有关 C++ 类定义的说法,错误的是( )。

答案:D

考点

函数

解题思维

这道题考类成员类型的限制。拿到题先别急着背语法,直接想‘任意类型’这四个字——数组、内联函数对象、带默认参数的成员变量,这些在 C++ 里都不能当成员,所以 D 绝对错。

常见错误

学生最容易把‘类可以包含成员变量’泛化成‘任意类型都能当成员’,忽略了数组对象、内联函数对象、带默认参数的成员变量这些特殊类型根本不能声明为成员,导致误选 D。

详细解析(节选)

【考点】类成员类型限制、构造函数调用时机、运算符重载、类型转换

GESP 六级 C++ 大纲:面向对象编程模块,重点考察类的基本语法和构造/转换/运算符重载。命题人意图:大多数考生能背‘类有成员’‘类有构造函数’‘类能重载运算符’,但很少人清楚成员类型的硬性限制。所以这道题卡住的是‘对 C++ 类成员类型的认知盲区’。

读题→逐项回忆规则→A:实例化时调用构造函数(正确,new/Stack<T>等都会执行)。B:自定义类可通过构造函数实现自动类型转换(正确,编译器可隐式调用构造函数)。C:自定义类可通过重载>、<等运算符实现大小比较(正确,成员函数或友元均可)。D:C++自定义类可以包含任意类型的成员→错误。定位 D 的错误:哪些类型不能成为成员?——数组对象(无构造/析构)、内联函数对象(inline 对象不能有成员)、带默认参数的成员变量(默认参数只适用于函数)、有析构函数的对象(成员必须能正常构造/析构,但某些特殊对象如 std::string 本身没问题)。确认 D 的表述‘任意类型’过于绝对,违反标准。

如果改成‘下列哪一项一定是 C++ 类成员的定义?’→正确答案会变成‘构造函数’或‘成员变量’。如果改成‘自定义类可通过构造函数实现显式类型转换’,那么 D 仍然错误,但 B 要改为‘显式’。提醒:刷到类似题时,先问自己‘命题人想考我什么?’——通常是‘绝对化表述 vs 存在反例’。

考频趋势:基本数据类型在题库中已考过 267 题,覆盖 12 个考试级别(2013-2026);逐年分布:2013 年 1 题、2016 年 1 题、2019 年 3 题、2023 年 63 题、2024 年 34 题、2025 年 26 题、2026 年 119 题、null 年 20 题;分赛事:GESP 一级 81 题、GESP 二级 48 题、GESP 四级 40 题、GESP 三级 38 题、GESP 五级 21 题、GESP 六级 18 题、GESP 七级 9 题、CSP 入门级 5 题、GESP 八级 3 题、CSP 提高级 2 题、NOIP 提高组 初赛 1 题、NOIP 普及组 初赛 1 题。其中 GESP 六级考过 18 题,说明该级别对类成员细节的考查频率稳定。

暂无足够依据预测未来可能怎么考。

同考点真题

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