C++语言程序设计

文件包含是指一个源文件可以将另外一个源文件的全部内容包含进来，即将另外的文件包含到本文件之中。
下图是一个文件包含的例子：

| 图9-2

上图表示了"文件包含"的含意，在file1.c中有一个#include "file2.c"的命令，该文件中的其它内容用A表示，file2.c的文件内容用B表示。在编译预处理的时候，需要对#include命令进行处理，即将file2.c的全部内容复制、插入到#include "file2.c"命令处，也即file2.c被包含到file1.c中，得到的结果如下图所示：

| 图9-3

file1.c将作为一个整体的源文件单位进行编译。
"文件包含"命令在C++程序中经常可以见到，它可以节省程序设计人员的重复劳动。例如，我们在编写一个程序解决物理问题的时候，经常会碰到一些固定的符号常量（如g=9.8，pi=3.1415928，c=300000000，…），可以将这些常量用宏来定义，并把这些宏定义命令放在一个文件中。编写程序时，可以用#include命令将该文件包含到程序中来。
当一个文件file.c包含头文件headfile1.h，而headfile1.h又用到了headfile2.h和headfile3.h的内容，这时应注意不要在file.c文件中，把这三个文件.h同时包含进来：
headfile2.h

| 图9-4

如果在file.c文件中用三个include命令分别包含headfile2.h、headfile3.h和headfile1.h：
#include "headfile2.h"
#include "headfile3.h"
#include "headfile1.h"
则headfile2.h、headfile3.h文件中必须有条件编译命令，否则file.c文件会出现编译错误。