程序组织策略
C++中建立代码工程时,通常包括三个部分:头文件,函数源代码文件,主程序源代码(即main()函数,可以调用函数源代码,完成程序的整体流程与功能)。
头文件(#include)常包含的内容:
- 函数原型 eg:void a(int temp);
- 使用 #define 或 const 定义的符号常量
- 结构声明
- 类声明
- 模板声明
- 内联函数
说明:
1. 通常情况下,多个函数可能同时包括上述某些相同内容。如果每个函数中都对该内容进行声明,想要修改该内容就需要同时修改上述全部声明,对后面的维护造成不必要的麻烦。为避免上述问题,可以将相关的内容放在 头文件中,这样,要修改内容时,只需要在头文件中做一次修改就可以。
2. 函数定义,变量声明不能放在头文件中。例如,如果一个头文件中包含某一函数定义,然后在其他两个文件(属于同一个程序)中包含该头文件,则同一个程序将包含同一个函数的两个定义(内联函数是特例),发生冲突。变量声明同函数定义。
3. 结构声明(struct),类声明(class)本身并不创建变量,而只是在源代码文件中声明变量时,告诉编译器如何创建该结构变量。同理,模板声明指示编译器如何生成与源代码中函数调用相匹配的函数定义。
4. const 变量和内联函数有特殊的链接属性,可以放在头文件中,不会引起问题。
函数源代码文件(.cpp或.cc):
函数源代码文件中,主要存放头文件中函数原型的具体实现。
使用方法:编写程序的时候,如果需要使用这些函数,则只需包含头文件,并将函数源代码文件添加到项目列表或make列表中(Linux)。
注:在IDE中不要将头文件加入到项目列表中,也不要在源代码文件中使用#include来包含其他源代码文件,这样将会导致多重声明。