以下经验说明哪些可以,哪些不可以放在头文件中,不是语言要这么做,而是对#include机制使用方法的一个合理建议。
头文件一般可包括:
1 类型声明,如 enum COLOR {//...}
2 函数声明,如 extern int fn(char s);
3 内联函数定义,如 inline char fn(char p) { return *p++; }
4 常量定义 如 const float pi = 3.14;
5 数据声明 如 extern int m; extern int a[];
6 枚举, 如 enum BOOLEAN {false, true};
7 包含指令(可嵌套),如 #include <iostream.h>
8 宏定义,如 #define Case break; case
9 注释 如//check for end of file
但头文件不宜包含:
1 一般函数定义,如 char fn(char p) {return *p++; }
2 数据定义,如 int a;
3 常量聚集定义 如 const int c[] = {1, 2, 3};