1.区别声明和定义,declaration definition,变量是有值没值,函数是有体没体,定义只有一次不能冲突,声明是为了找到那个定义
2.C++为分离式编译,允许使用时声明一下即可,这是为了方便,具体声明的起效在链接期间检查。
3.为了在多个文件同时声明很多东西,所以使用了头文件,所以不要加定义,除了例外。
4.例外就是const、 static、inline、类的定义
const、static特殊作用使得定义不冲突
inline、类的定义是因为有时使用到它的定义的时候,inline得展开,所以必须看到,而使用类的对象的时候得知道大小,所以也得知道定义。
5.由4引发出一个问题,即什么时候只声明类名,什么时候把包含类定义的头文件给include进来
答:只使用了指针,无关大小则可以只使用类名声明,而用到了具体的类来新建对象则要包含头文件,第一种方式比第二种好。