C++的头文件为相关声明提供了一个集中存放的位置。头文件一般包含类的定义,extern变量的声明和函数的声明。
因为头文件包含在多个源文件中,所以不应该包含有变量或函数的定义。否则在链接时会有redefinition的错误。
但有三个例外:头文件可以定义类,值在编译时就已知道的const对象和inline函数。这些实体可以在多个源文件中定义,只要每个源文件中的定义是相同的。
C++中的声明与定义
1. C++中变量必须且仅能定义一次,而且在使用变量之前必须定义或声明变量。
2. int i;定义了一个变量i。可以通过使用extern关键字声明变量名而不定义它,extern int i;声明了变量i。extern声明不是定义,也不分配存储空间,事实上,它只是说明变量定义在程序的其他地方。但如果声明有初始化式,则它被当做是定义,即使声明标记为extern。
3.综上,在多个文件中使用的变量,可以在一个头文件中声明,在一个源文件中定义,其他使用该变量的文件则包含声明变量的头文件。
时间: 2024-10-12 20:33:23