- C++中,全局对象的构造函数在main之前运行,析构函数在main之后运行。
- 类静态变量的初始化在main之前,静态函数不行。
class Base
{
public:
Base()
{
std::cout<<"基类构造"<<endl;
}
~Base()
{
std::cout<<"基类析构"<<endl;
}
static int get()
{
std::cout<<"get()"<<endl;
return 55;
}
static int count;
}
// main.cpp
Base b;
int Base::count = Base::get(); //这里不能调静态函数,会报错
int main()
{
std::cout<<"main "<<endl;
return 0;
}
运行结果:
基类构造
get()
main
基类析构