C++头文件与多文件结构

时间:2022-12-17 10:18:30

头文件

在将一个程序分解成若干个文件时,需要考虑标识符在其他文件中的可见性。使用头文件是一个很有效的方法。如: # include<iostream.h>

其中的iostream.h是系统定义的一个文件,这种以“.h”命名的文件称为“头文件”。系统定义的头文件中定义了一些常用的公用标识符和函数,用户只要将头文件包含进自己的文件,就可使头文件中定义的标识符在用户文件中变得可见,也就可以直接使用头文件中定义的标识符和函数。

除了系统定义的头文件外,用户还可以自定义头文件。什么样的内容适合放在头文件里?对于具有外部存储类型的标识符,可以在其他任何一个源程序文件中经声明后引用,因此用户完全可以将一些具有外部存储类型的标识符的声明放在一个头文件中。具体地说,头文件中可以包括:用户构造的数据类型(如枚举类型),外部变量,外部函数、常量和内联函数等具有一定通用性或常用的量
而一般性的变量和函数定义不宜放在头文件中。

多文件结构

在开发较大程序时,通常将其分解为多个源程序文件,每个较小的程序用一个源程序文件建立。程序经过建立、编译、连接,成为一个完整的可执行程序。

多文件结构通过工程进行管理
在工程中建立若干用户定义的头文件.h源程序文件.cpp。头文件中定义用户自定义的数据类型,所有的程序实现则放在不同的源程序文件中。编译时每个源程序文件单独编译,如果源程序文件中有编译预处理指令,则首先经过编译预处理生成临时文件存放在内存,之后对临时文件进行编译生成目标文件.obj,编译后临时文件撤销。所有的目标文件经连接器连接最终生成一个完整的可执行文件.exe

下图是一个多文件系统的开发过程。


图 C++程序开发过程