关于include
include = 文件拼接
include的作用就相当于是把所有相关的头文件与生成文件打包在一起,
并不是一对一的链接,但是有顺序关系
重复包含
同一个头文件不可重复包含,可在头文件前用#pragma once预编译宏指令强制该头文件只编译一次
交叉包含
多个头文件相互包含,编译时会陷入死循环,仍可用#pragma once解决,但仍然需要注意包含顺序。
为了解决这些问题,通常我们将在头文件中声明方法,在编译单位中包含该方法所需要的头文件,
并在编译单位中实现该方法。