GESP 六级 · GESP 202606 C++ 六级 第 3 题

选择题 · 答案 C

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

题目

下面代码在 main() 中有一行会导致编译错误,请找出来。

class Student {
public:
    Student(string n, int s) : name(n), score(s) {}
    string getName() {
        return name;
    }
    void setScore(int s) {
        score = s;
    }
private:
    string name;
    int score;
};
int main() {
    Student stu("Tom", 85);
    cout << stu.getName(); // ①
    stu.setScore(90);     // ②
    stu.score = 100;      // ③
    cout << stu.getName(); // ④
    return 0;
}
答案:C

解题思维

逐项分析每个选项,利用C++语法规则和算法知识判断正误。注意隐含条件(如整型溢出、栈溢出)。

常见错误

注意题目问的是"错误的是"还是"正确的是",避免看反。选项中若有绝对化表述通常错误。

详细解析(节选)

【考点】类的成员访问权限|封装性

1. 🎯 考纲定位

GESP C++ 六级"面向对象程序设计"模块第 4 章"类的访问控制"。命题人卡的是考生对"类外访问规则"的模糊记忆——很多人背过"private 是私有的",但不会具体到"类外能否直接访问成员变量"这个操作层面。

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