源文件cpp:不同的逻辑实现; 头文件h:相关的声明
1. 源文件cpp可以引用头文件h、头文件h可以引用另外的头文件h(已达到共用的目的eg. 项目中经常见到的stdafx.h就是多个头文件的集合),但不可以应用源文件cpp(不符合规范)
2. 编译:
4. #pragma once
这是一个比较常用的指令,只要在头文件的最开始加入这条指令就能够保证头文件被编译一次
#pragma once用来防止某个头文件被多次include,#ifndef,#define,#endif用来防止某个宏被多次定义。
#pragma once是编译相关,就是说这个编译系统上能用,但在其他编译系统不一定可以,也就是说移植性差,不过现在基本上已经是每个编译器都有这个定义了。
#ifndef,#define,#endif这个是C++语言相关,这是C++语言中的宏定义,通过宏定义避免文件多次编译。所以在所有支持C++语言的编译器上都是有效的,如果写的程序要跨平台,最好使用这种方式