### 头文件

在 C++语言中，头文件通常以.h 为扩展名。在头文件中通常包含 3 项内容，即版权、版本的声明，宏定义和函数、类信息的声明。这里单独介绍一些宏定义，在创建 MFC 应用程序时，类向导会为每个头文件添加宏定义，例如：

#if !defined(AFX_BOOKMANAGEDLG_H__B8BA674C_92B2_42D6_8FC8_153FFD6FE32A__INCLUDED_)

#define AFX_BOOKMANAGEDLG_H__B8BA674C_92B2_42D6_8FC8_153FFD6FE32A__INCLUDED_

宏定义的目的是防止头文件被重复引用。当编译器编译头文件时，判断当前宏是否被定义，如果没有定义，则定义宏，并编译头文件，否则略过当前头文件。

在开发应用程序时，头文件的编写应遵守以下原则：

l 引用头文件

使用<>格式引用系统的头文件。例如：

#include <stdio.h>

使用“”格式引用自定义头文件。例如：

#include "syslog.h"

对于<>格式引用的头文件，编译器会在系统库文件目录下搜索头文件，它不会搜索当前工程下的目录。对于“”格式引用的头文件，编译器首先在当前工程目录下搜头头文件，然后再搜索系统库文件目录。采用上述做法的好处：（1）可以让其他开发人员知道引用的头文件是系统头文件还是自定义的头文件；（2）能够提高编译器的性能。

l 头文件中只提供声明信息

C++语言允许使用内联函数，将函数的声明和实现放在一起。但是，这样做不容易形成一套风格，建议在头文件中只提供声明信息，在源文件中提供实现信息，使程序的逻辑结构更加清晰。

下面我们来介绍头文件的创建。

（1）启动 Visual C++6.0，单击“File/New”菜单项打开新建窗口，如图 1 所示。

图 1 新建窗口

（2）选择“Files”选项卡，在列表中选择“C/C++Header File”选项，表示想要创建头文件。在“File”编辑框中输入头文件的名称，例如，“StdManage.h”，如图 2 所示。

图 2 设置头文件名称

（3）单击“Location”编辑框右侧的“…”按钮设置头文件的存储路径。它通常应该位于某一个工程路径下。如图 3 所示。

图 3 选择路径

（4）单击“OK”按钮完成路径的设置。返回到图 2 所示的窗口中，单击“OK”按钮创建头文件，如图 4 所示。

图 4 创建头文件

（5）这样，我们就创建了一个头文件。此时的头文件只是一个空文件，里面没有任何内容。下面我们向头文件中添加代码，向大家展示头文件的结构和基本写法。效果如图 5 所示。

图 5 新建头文件

（6）单击工具栏中的 按钮保存头文件。

说明：在头文件中可以通过注释添加文件信息，使用户可以快速的了解当前文件的创建时间及作用等信息。