void Box::Draw(…)
{
…
}
示例 1-3 C++/C 定义文件的结构
1.4 头文件的作用
早期的编程语言如 Basic、Fortran 没有头文件的概念,C++/C 语言的初学者虽然会用使用头
文件,但常常不明其理。这里对头文件的作用略作解释:
(1)通过头文件来调用库功能。在很多场合,源代码不便(或不准)向用户公布,只要向
用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库功能,
而不必关心接口怎么实现的。编译器会从库中提取相应的代码。
(2)头文件能加强类型安全检查。如果某个接口被实现或被使用时,其方式与头文件中的
声明不一致,编译器就会指出错误,这一简单的规则能大大减轻程序员调试、改错的负担
第二篇:
中的头文件 标准库中的头文件 标准库中的一切内容都被放在名字空间
中(名字空间中的内容对外是不可见的),但是带来了一个新问题,无数现有的
代码都依赖于使用了多年的伪标准库中的功能,如声明在等头文件中的功
能,使用 包装标准库导致现有代码的不可用,为了兼容这种情况,标准委员会为包装
了 的那部分标准库创建了新的头文件,新的头文件的文件名与旧的一样,只是没有
这个后缀,如就变成了。对于 头文件,采用同样的方法,
但还在每个头文件名前加了字符 ,如就变成了,变
成了。最好使用新的文件头,使用新的文件头的 程序,需要使用
或者 指定的类名,等方法来使需要的类对于我
们的代码可视。
自定义的头文件为了防止头文件被重复引用,最好使用预处理定义,如下所示:
!
" !
……##头文件中的内容
$预处理相关知识() :判断一个预处理常量是否被定义,如
%&%
() :判断一个预处理常量是否没被定义
($) ":定义一个预处理常量,如" '&%
(() )
(*)
(+) 对预处理常量的定义还可以在编译时进行,如 , '&%
(-) 编译 程序时,编译器自动定义了一个预处理器名字!!))(注意前
面有两个下划线),因此可以根据这个来判断该程序是否是 程序,以便有条件地包
含一些代码,如: