GESP 四级 · GESP 202512 C++ 四级 第 24 题

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

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

题目

下面代码可以正常编译并输出 10。

#include <iostream>
using namespace std;

int calculate(int x, int y = 10);

int main() {
    cout << calculate(5);  // 调用1
    return 0;
}

int calculate(int x, int y) {
    return x * y;
}

int calculate(int x) {  // 重载函数
    return x * 2;
}
答案:B

考点

函数

解题思维

答案B。指针和数组的代码追踪:画出变量和指针的内存示意图,追踪每次赋值后值的变化。

常见错误

指针和数组追踪时画内存布局图可以大大简化理解。

详细解析(节选)

【考点】函数默认参数|函数重载|歧义调用

1. 🎯 考纲定位(考点定位)

本题考查 GESP 四级《C++ 基础语法》中"函数定义与重载"模块。命题人专门设计这道题卡住两类考生:一类对 C++ 默认参数机制理解不清,误以为调用时会自动补全参数;另一类忽视了重载解析规则,未察觉编译器面对多个匹配函数时的歧义判定。这道题表面简单,实则精准打击"认为代码能编译"的过度自信。

同考点真题

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