8.10 组织程序代码
在示例Ex8_12中,第一次将程序代码分布在多个文件中。这种作法不仅在C++(www.cppentry.com)应用程序中常见,而且在Windows编程(www.cppentry.com)中也必不可少。即使最简单的程序所包含的大量代码,也有必要将它分为若干可使用的代码块。
如第8.9节所述,C++(www.cppentry.com)程序中有两种基本的源代码文件:.h和.cpp文件,图8-12说明了这一点。

我们可能时常需要在新项目中使用现有文件中的代码。这种情况下,只需给新项目添加.cpp文件即可,为此可以使用Project | Add Existing Item菜单项。另外,右击Solution Explorer选项卡中的Source Files或Header Files文件夹,然后从上下文菜单中选择Add | Existing Item菜单项,也可以在新项目中添加文件。我们不需要给新项目添加.h文件,不过如果希望.h文件立即出现在Solution Explorer窗格中,那么添加它们也无妨。作为指定的#include指令的结果,将.h文件中的代码添加到需要它们的.cpp文件的开始部分。我们需要#include指令来嵌入包含标准库函数和其他标准定义的头文件,以及我们自己的头文件。Visual C++(www.cppentry.com)能够自动记住所有这些文件,并允许在Solution Explorer选项卡中查看它们。如上一个示例所示,还可以在Class View选项卡中查看类定义、全局常量和变量。
在Windows程序中,还有其他几种用于说明像菜单和工具栏按钮这样一些对象的定义。这些定义存储在扩展名为.rc和.ico的文件中。需要时Visual C++(www.cppentry.com)将自动创建并跟踪它们。
命名程序文件
如前所述,无论类的复杂性如何,通常都应该将类定义存储在文件名基于类名的.h文件中,将在类定义外部定义的函数成员的实现存储在同名的.cpp文件中。以此为根据,CBox类的定义出现在名为Box.h的文件中。同理,类的实现存储在Box.cpp文件中。本章前面的示例没有遵守这项约定,因为那些示例非常短小,而且名称由章编号和章内示例序号构成的示例更容易引用。无论程序的大小如何,既然以这种方式组织代码是必要的,那么最好从现在开始养成创建.h和.cpp文件来容纳程序代码的习惯。
将C++(www.cppentry.com)程序分为.h和.cpp文件是一种非常方便的方法,使我们很容易找到任何类的定义或实现。如果使用的开发环境没有包括Visual C++(www.cppentry.com)提供的全部工具,则上述优点更加明显。只要知道类名,就能直接找到想要的文件。但这不是一条严格的规则。有时候,需要将一组紧密相关的类的定义集中到一个文件中,并以类似的方式将它们的实现也汇编在一起。但无论选择怎样的文件组织方式,Class View选项卡都将显示所有的类以及各个类的全部成员。双击Class View树中的任意一项将直接进入相关的源代码。