一、构造函数的执行规则
C++构造函数的调用顺序为:
- 如果类中包含静态成员变量,先执行静态成员变量的构造函数。
- 如果类是派生类,则先执行基类的构造函数。同样如果基类也是一个派生类,它也要先执行基类的构造函数。
- 执行成员变量中的构造函数,根据定义的顺序来,先执行类内初始化,再执行列表初始化。
- 执行本类的构造函数。
C++构造函数的调用顺序为:
全局变量默认是静态的,通过 extern 关键字声明后可以在多个文件中使用。
具体可参考:C++变量的声明、定义和 extern 关键字
header.h
|
1 2 3 4 5 |
#pragma once extern int gCnt; int f1(); int f2(); |
C++的分离编译机制允许程序拆分成多个文件来写,最常见的是在头文件中进行声明,源文件中进行定义,然后一起编译:
|
1 |
gcc a.h a.cpp -o a.o |
声明使得函数或者变量被程序所知,定义负责创建与声明相关联的实体。变量只能被定义一次,但能多次声明。