头文件用于声明函数,如math_utils.h中用#ifndef保护声明int add(int a, int b)和void printMessage(const char* msg),对应cpp文件实现函数,其他文件包含头文件即可调用,编译时需链接目标文件。

在C++中,头文件(通常以 .h 或 .hpp 为扩展名)用于声明函数,使得这些函数可以在多个源文件(.cpp 文件)中被正确调用。通过在头文件中声明函数,编译器能在编译阶段检查函数调用的正确性,而实际定义则放在对应的源文件中。
函数声明的基本语法
函数声明只需要提供函数的返回类型、名称、参数列表(不需要参数名,但建议写上以便阅读),以及一个分号。它不包含函数体。
例如:int add(int a, int b);
这行代码表示有一个名为 add 的函数,接受两个 int 类型参数,返回一个 int 值。
立即学习“C++免费学习笔记(深入)”;
将函数声明放入头文件
创建一个头文件,比如 math_utils.h,并在其中写入函数声明:
#ifndef MATH_UTILS_H
#define MATH_UTILS_H
int add(int a, int b);
void printMessage(const char* msg);
#endif // MATH_UTILS_H
这里的 #ifndef、#define 和 #endif 是头文件守卫,防止头文件被多次包含导致重复声明。
在源文件中定义函数
在对应的 math_utils.cpp 文件中实现这些函数:
#include "math_utils.h"
#include iostream>
int add(int a, int b) {
return a + b;
}
void printMessage(const char* msg) {
std::cout }
在其他文件中使用声明的函数
只要包含该头文件,就可以在任意 .cpp 文件中调用这些函数:
#include "math_utils.h"
int main() {
int result = add(3, 4);
printMessage("Hello from header!");
return 0;
}
编译时需确保链接了 math_utils.o(或 .obj),否则会报“未定义的引用”错误。
基本上就这些。头文件只做声明,避免写定义(除非内联函数或模板),合理使用头文件守卫,就能安全地共享函数接口。











