在 C++ 语言中,函数定义和函数调用可以不在同一个文件内。
仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。
审题时注意题目要求(选正确还是选错误),避免因审题不清失分。涉及代码的题目要逐行分析变量变化。
【考点】C++函数声明|C++头文件|C++链接
GESP 202412 C++七级,C++编程语言模块,函数声明与头文件。命题人卡住学生"函数必须同文件定义"的旧语言直觉,考的是C++跨文件编译链接机制,这是C++区别于其他语言的核心特性之一,也是七级必考点,常用来区分中级与高级选手,且是C++标准规范的一部分。
看到题先定位:C++支持.h/.cpp分离,函数定义在.cpp,声明在.h。通法:遇到语言特性跨文件问题,先确认该特性是否允许外部声明,再确认是否需链接。本类题本质是验证语言规范是否允许模块分离,而非记忆具体文件。(C++标准允许链接器处理跨文件符号)
选项B设陷阱:用"必须"暗示绝对约束。偷换概念——头文件可含声明不可含定义;边界条件——声明与定义分离是C++跨文件编译前提。只背结论不理解分离机制,必掉坑。命题人利用学生混淆声明与定义,导致误判。
反命题视角:若改成"模板函数能否跨文件",答案变;若改成"内联函数是否可跨文件",答案又变。刷到类似题,先问"命题人想考我什么机制",这能避免盲目套用。