C++头文件:
.h头文件中,只能存在变量或者函数的声明, 而不要放定义。即,只能在头文件中写形如:
int a;和void f();的句子。
extern()
三个例外:
1.头文件中可以写const对象和static对象的定义,只在包含它的 那个文件中有效。
2.头文件中可 以写内联函数(inline)的定义,编译器直接展开。
因此C++规定,内联函数可以在程序中定义多次,只要内联函数在一个.cpp文件中只出现一次,并且在所有的.cpp文 件中,这个内联函数的定义是一样的,就能通过编译。那么显然,把内联函数的定义放进一个头文件中是非常明智的做法。
3. 头文件中可以写类 (class)的定义。
类的定义中包含着数据成员和函数成员。
数据成员是要等到具体的对象被创建时才会被定义(分配空间),
函数成员却是需要在一开始就被定义的。
一般做法:(可以)
把类的定义放在头文件中,而把函数成员的实现代码放在一个.cpp文件中。
直接把函数成员的实现代码也写进类定义里面。
(不可以)
如果把函数成员的定义写在类定义的头文件中,而没有写进类定义中