请教大家一个我认为比较诡异的问题
课本上有一个题目,想了一早上没想出来,请高手帮忙解答一下。
编译下面的C++程序,并运行观察其输出结果:
- C/C++ code
#include "iostream.h"int main(){std::cout << "Hello,world!\n";}然后尝试修改改程序,使其输出如下的信息,并且不要修改main()函数。
Initialize
Hello,world!
Clean up
在main函数之前输出可以用预处理,那在main函数之后用啥呢?如果用atexit的话得修改main函数呀!请大家看看~
[解决办法]
写一个类,自定义其构造和析构函数,创建一个全局对象
[解决办法]
构造全局变量,在其构造函数里输出 Initialize,析构函数里输出 Clean up
[解决办法]
写一个类,将它的构造和析构函数设置为输出 Initialize 和 Clean Up,将这个类实例化一个全局变量。