下列关于 C++ 语言中函数的叙述,不正确的是( )。
这题考函数重载与作用域。拿到题先想:不同函数内部变量和参数是隔离的,所以局部变量、参数重名没问题;函数名能重载。只有‘两个声明完全相同’才意味着是同一个函数,无法共存,这就是A错的关键。
学生最容易把‘重载’记混,以为只要名字不同就行,或者以为同名不同签也能共存,其实重载要求签名不同。对于A,学生常忽略‘声明相同’就是定义重复,编译必报错。B、C学生常误以为变量名冲突,其实作用域隔离。D最像陷阱,但重载是C++核心特性,不会考‘不能重载’。
【考点】函数重载|作用域
1. 考纲定位 本题考查 GESP 四级《C++ 语法基础》中函数重载与作用域规则。命题人专挑「同名不同签」与「同签不同名」的边界,卡住只会背定义不会重载的学生。
2. 解题思维 看到函数相关选项先想作用域:局部变量、参数都属于函数内部,不同函数间互不干扰,所以 B、C 天然成立。再看函数名:C++ 允许重载,同名不同签可共存,D 正确。最后看声明:两个声明完全相同意味着是同一个函数,无法同时存在,A 错误。
3. 陷阱拆解 A 是重灾区:学生把「重载」记成「同名即可」,忽略参数类型必须不同。命题人用「声明」一词设坑——声明相同就是定义重复,编译必报错。B、C 学生常误以为变量名冲突,其实作用域隔离。D 最像陷阱,但重载是 C++ 核心特性,不会考「不能重载」。
4. 反命题思维 若把 A 改成「两个函数定义可以相同」,答案仍为 A;若把 D 改成「两个函数签名可以相同」,正确答案就会变。刷到函数题先问:考重载还是考作用域?
5. 考频与趋势 函数与递归:题库共考过 67 题,覆盖 8 个考试级别(2008-2026);逐年分布:2008 年 2 题、2013 年 1 题、2021 年 1 题、2023 年 13 题、2024 年 18 题、2025 年 21 题、2026 年 6 题、null 年 5 题;分赛事:GESP 四级 26 题、GESP 五级 19 题、GESP 六级 8 题、GESP 三级 5 题、GESP 七级 3 题、NOIP 提高组 初赛 3 题、CSP 提高级 2 题、GESP 二级 1 题。 函数定义与调用:题库共考过 70 题,覆盖 9 个考试级别(2016-2026);逐年分布:2016 年 1 题、2019 年 1 题、2020 年 1 题、2022 年 1 题、2023 年 15 题、2024 年 17 题、2025 年 23 题、2026 年 6 题、null 年 5 题;分赛事:GESP 四级 23 题、GESP 五级 19 题、GESP 六级 8 题、CSP 入门级 7 题、GESP 三级 6 题、GESP 七级 3 题、GESP 二级 2 题、CSP 提高级 1 题、NOIP 提高组 初赛 1 题。 作用域与生命周期:题库共考过 3 题,覆盖 2 个考试级别(2023-2025);逐年分布:2023 年 1 题、2025 年 1 题、null 年 1 题;分赛事:GESP 四级 2 题、GESP 三级 1 题。
6. 预测 函数与递归、函数定义与调用在 GESP 四级已连续多年高频出现,尤其是 2023-2025 年逐年递增,2026 年仍保持一定热度,说明 C++ 基础语法仍是四级核心。作用域相关题目极少,但结合函数重载考查作用域隔离是合理的延伸,未来可能继续以单选形式出现,侧重辨析变量名、参数名与作用域的关系。暂无足够依据预测具体题型变化。