#include <iostream>#include <stdlib.h>using namespace std;class A {public:A() {cout << "I come here before main()!" << endl;f();}static void f() {cout << "I come here before main() too!" << endl;}};static A a;int main(int argc, char *argv[]){cout << "Entering main()!" << endl;cout << "Leaving main()!" << endl;system("PAUSE");return 0;}运行结果如下:
由于a是全局变量,所以会在main之前执行,所以会调用其构造函数,输出main之前的两句话。