对象的类别:
1局部对象 :对象定义时,对象被创建,当程序退出定义该对象所在的函数体或程序块,对象被释放
2全局对象:当程序开始运行时,对象被创建,当程序结束时,对象被释放
3静态对象:当程序定义静态对象时,对象被创建,当程序结束时,对象被释放
4动态对象:执行运算符new时该对象被创建,执行运算符delete时对象被释放
class C
{private: string name;
public:
C(){name="anony";
cout<<name<<“ construct\n";}
C(const char*n){name=n;
cout<<name<<“ construct\n";}
~C(){cout<<name<<“ destruct\n";}
};
int main(){
C c0("hort");
{
C c1;
C c2("foo");
cout<<'\n';
}
C*ptr=new C();
delete ptr;
return 0;
}
运行之后
hort construct
anony construct
foo construct
foo destruct
anony destruct
anony construct
anony destruct
hort destruct
同级别的先运行的后析构