GESP 六级 · GESP202609 C++ 六级 第 16 题

判断题 · 答案 B · 考点:函数

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

题目

下列代码可以正常编译,因为编译器会自动为 Student 类生成一个无参数构造函数。

class Student {
public:
Student(int x) {
age = x;
}
private:
int age;
};
int main() {
Student s;
}
答案:B

考点

函数

解题思维

看到类定义里有自定义构造函数,立刻想到编译器不会再生成默认构造函数。再看 Student s; 无参调用,必然编译失败。

常见错误

选项 A 的陷阱在于"默认构造函数"一词的绝对化表述。命题人利用考生对"默认构造函数"概念的模糊记忆,故意省略"无自定义构造函数"这一前提条件。

详细解析(节选)

1. 考纲定位

本题考查 GESP 六级 C++ 大纲中"类与对象"模块的构造函数规则。命题人专门设计这道题,就是要卡住那些只背"类有默认构造函数"口诀、却忽略"有自定义构造函数则不生成默认构造函数"这一关键条件的考生。

2. 解题思维

看到 Student(int x) 立刻想到:类中已定义构造函数,编译器就不会再生成默认构造函数。再看 Student s; 无参调用,必然编译失败。

同考点真题

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