C++程序使用头文件包含的不仅仅是类定义。
由多个文件组成的程序需要这一种方法连接名字的使用和声明,在C++中是通过头文件中实现的。
为了允许吧程序分成独立的逻辑块,C++支持所谓的分别编译。这样程序就可以由多个文件组成。
eg:我们把类A的定义放在一个头文件中,将定义的A成员函数放在单独的源文件中,像main这样使用A对象的函数放在其他的源文件中,任何使用A的源文件都必须包含A.h头文件
头文件为相关声明提供了一个集中存放的位置。
头文件一般包含类的定义、extern变量的声明和函数的声明。使用或定义这些实体的文件要包含适当的头文件。
头文件的正确使用好处:1.保证所有文件使用给定实体的同一声明;2.当声明需要修改时,只有头文件需要更新。
头文件中所作的声明在逻辑上应该是适于放在一起的,编译头文件需要一定的时间,如果太大,编译时代价较大。
为减少处理头文件的编译时间,有些C++的实现支持预编译头文件。
要产生可执行文件,需要告诉编译器哪里去找mian函数,哪里去找类A所定义的成员函数的定义。
头文件用于声明而不是用于定义,定义只可以出现一次,而声明则可以出现多次
因为头文件包含在多个源文件中,所以不应该含有变量或函数的定义。
不能含有定义的例外:头文件可以定义类、值在编译时就已知道德const对象和inline函数,这些实体可在多个源文件中定义,只要每个源文件中的定义是相同的。
在头文件中定义这些实体,是因为编译器需要它们的定义来产生代码。