当前位置:鱼C工作室 >C++ > 查看文章

命名空间和模块化编程2 – C++快速入门40

命名空间和模块化编程2

 

让编程改变世界

Change the world by program


 

使用头文件

 

在创建了头文件之后,只要把它的文件名用双引号括起来写在如下所示的指令里就可以导入它:

#include “fishc.h”

 

如果没有给出路径名,编译器将到当前子目录以及当前开发环境中的其他逻辑子目录里去寻找头文件。

为了消除这种猜测,在导入自己的头文件时可以使用相对路径。如果头文件与主程序文件在同一个子目录里,则可以这么写:

#include “./fishc.h”

 

如果头文件位于某个下级子目录里,那么以下级子目录的名字开头:

#include “includes/fishc.h”

 

最后,如果头文件位于某个与当前子目录平行的”兄弟”子目录里,则需要这么写:

#include “../includes/fishc.h”

 

请务必注意,Windows通常使用反斜杠作为路径名里的分隔符。

请看演示:Example (源代码下载)

 

创建实现文件

 

回到Rational这个栗子,我们带大家来进一步实现模块化编程。

rational.h头文件包含Rational类的声明,但不包含这个类的实现代码。

 

这种分割可能刚开始接触的朋友觉得有点奇怪,但在实践中非常普遍。

因为把接口(函数的原型)和实现(函数体的定义)分开是对代码进行模块化的基本原则之一。

 

头文件的重要性不仅体现在它们可以告诉编译器某个类、结构或函数将有着怎样的行为,还体现在它们可以把这些消息告诉给程序员。

作为苦逼程序猿一枚,你只需看到函数的声明就可以了解到你需要知道的一切:函数的名字,它的返回值类型和它的输入参数的类型和数量。

 

知道了这些东西,你就可以使用那个函数了,而根本用不着关心它到底是如何工作的。

编译器就不同了,它必须读取某个类或函数的实现代码。

 

作为一个通用原则,应该把声明放在一个头文件里,把实现代码放在一个.cpp文件里。

现在我们就演示下rational这个程序如何分开和拼凑成一个完整的程序。

 

分页阅读: 1 2 下一页
为您推荐

报歉!评论已关闭.