建立一个类,类里只包括一个构造函数和析构函数,输出运行情况。
#include<iostream>
#include<string>
using namespace std;
class CreateAndDestroy
{
public:
CreateAndDestroy(int string);
~CreateAndDestroy();
private:
int objectID;
};
CreateAndDestroy::CreateAndDestroy(int ID)
{
objectID = ID;
cout << "Object "<<objectID<<" constructor"<< endl;
}
CreateAndDestroy::~CreateAndDestroy()
{
cout << "Object " <<objectID<< " destructor"<< endl;
}
CreateAndDestroy first( 1 );
void create( void )
{
cout << "create begin {" << endl;
CreateAndDestroy fifth( 4 );
static CreateAndDestroy sixth( 5 );
CreateAndDestroy seventh( 6 );
cout << "create end }" << endl;
}
int main()
{
cout << "main begin {" << endl;
CreateAndDestroy second(2);
static CreateAndDestroy third(3);
cout << "\nmain function begin" << endl;
create();
cout << "main function end\n" << endl;
CreateAndDestroy fourth(7);
cout << "main end }" << endl;
return 0;
}
函数局部变量在函数结束前销毁
main函数变量在程序结束前销毁
静态内部变量跟在main函数变量后销毁
全局对象变量在最后销毁
同样类型先定义的后销毁