C++学习笔记-Header(.h)

头文件通常用于存储各种声明,当引入一个头文件后,链接器会查找和这个头文件(.h)对应的源码文件(.cpp),并尝试将其引入当前作用域。它还有一个好处是可以让我们在查看函数定义时,只看头文件而不必去看庞大的源码文件。

下面是一个简单的头文件定义(MyFunctions.h)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/************************************************************************
* Source File:	MyFunctions.h
* Description:	Headers
* Author:		jinlei Wang
* Create Date:	2023-02-12
*************************************************************************/
#pragma once
/*
#pragma once 是一个非标准的预处理指令,但它被许多现代编译器广泛支持,用于防止头文件被多次包含(即多重包含)。
当你在头文件中使用 #pragma once 时,它告诉编译器:“如果这个头文件已经被包含过了,就不要再包含它了。”
这有助于避免由于头文件被重复包含而导致的编译错误,如重复定义变量、函数或类等。
*/

/************************************************************************
* Create Date:	2023-02-12
* Function:		Add
* Description:	计算两个数 a、b 的和
* In Params:	int a
* In Params:	int b
* Return:		返回 a + b 的和
*************************************************************************/
int Add(int a, int b);

/************************************************************************
* Create Date:	2023-02-12
* Function:		Multiply
* Description:	计算两个数 a、b 的乘积
* In Params:	int a
* In Params:	int b
* Return:		返回 a + b 的乘积
*************************************************************************/
int Multiply(int a, int b);

实现文件(MyFunctions.cpp)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
/************************************************************************
* Source File:	MyFunctions.cpp
* Description:	Headers
* Author:		jinlei Wang
* Create Date:	2023-02-12
*************************************************************************/

int Add(int a, int b) {
	return a + b;
}

int Multiply(int a, int b) {
	return a * b;
}

调用函数,包含MyFunctions.h

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#include <iostream> // 尖括号代表在系统目录查找头文件
#include "MyFunctions.h" // 双引号代表在当前目录中查找头文件

int main() {
	int result1 = Add(1, 3);
	std::cout << result1 << std::endl;

	int result2 = Multiply(3, 3);
	std::cout << result2 << std::endl;
}
updatedupdated2025-03-032025-03-03