c + + 中 头 文 件 的 作 用 c++中头文件的作用 c++中头文件的作用
一 什么是头文件
头文件,其实它的内容跟 .cpp 文件中的内容是一样的,都是 C++ 的源代码。
但头文件不用被编译。
我们把所有的函数声明全部放进一个头文件中,当某一个 .cpp 源文件需要它们时,它们就可以通过一个宏命令 “#include” 包含进这个 .cpp 文件中,从而把它们的内容合并到 .cpp 文件中去。
当 .cpp 文件被编译时,这些被包含进去的 .h 文件的作用便发挥了。
二 include的作用
#include 是一个来自 C 语言的宏命令,它在编译器进行编译之前,即在预编译的时候就会起作用。
#include 的作用是把它后面所写的那个文件的内容,完完整整地、一字不改地包含到当前的文件中来。
它本身是没有其它任何作用与副功能的,它的作用就是把每一个它出现的地方,替换成它后面所写的那个文件的内容。就是简单的文本替换,
因此,main.cpp 文件中的第一句(#include"math.h"),在编译之前就会被替换成 math.h 文件的内容。
三 注意
.h头文件中,只能存在变量或者函数的声明,而不要放定义。即,只能在头文件中写形如:extern int a; 和 void f(); 的句子。这些才是声明。如果写上 inta;或者 void f() {} 这样的句子,那么一旦这个头文件被两个或两个以上的 .cpp 文件包含的话,编译器会立马报错。
头文件中应该只放变量和函数的声明,而不能放它们的定义。因为一个头文件的内容实际上是会被引入到多个不同的 .cpp 文件中的,并且它们都会被编译。放声明当然没事,如果放了定义,那么也就相当于在多个文件中出现了对于一个符号(变量或函数)的定义,纵然这些定义都是相同的,但对于编译器来说,这样做不合法。