class Demo
{
int id;
public:
Demo(int i)//类型转换构造函数
{
id=i;
cout<<"id="<<id<<"construct"<<endl;
}
~Demo()
{
cout<<"id="<<id<<"destruct"<<endl;
}
};
Demo d1(1);//全局变量
void Func()
{
static Demo d2(2);//静态局部变量,在函数结束不消亡,直到整个程序结束才消亡
Demo d3(3);
cout<<"func"<<endl;
}
int main()
{
Demo d4(4);//输出:id=4construct
d4=6;//编译器自动识别,通过类型转换构造函数将6转换为Demo临时对象,临时对象执行完就会消亡
//输出:id=6construct
//输出:id=6destruct
cout<<"main"<<endl;//输出:main
{
Demo d5(5);//输出:id=5construct
}//遇到该花括号,局部变量d5生存期结束
//输出:id=5destruct
Func();//输出:id=2construct
//输出:id=3construct
//输出ÿ
C++【10】构造函数、析构函数何时被调用?
最新推荐文章于 2024-04-23 16:43:03 发布