您的位置:首页 > 编程语言 > C语言/C++

学习笔记---C++析构函数心得

2014-05-07 22:14 197 查看
1.动态分配的对象的析构函数

class man{
public:
man(){
cout<<"man begin"<<endl;
};
~man(){
cout<<"man end"<<endl;
}
};

int _tmain(int argc, _TCHAR* argv[])
{
man *m = new man();
return 0;
}


输出为 :

man begin

动态分配的类必须在执行delete函数后才执行析构函数;

在13行后加入 delete m;

输出为:

man begin

man end

2.局部的值对象的析构函数

局部对象的析构函数执行是在其所在的{}结束时执行

class man{
public:
man(){
cout<<"man begin"<<endl;
};
~man(){
cout<<"man end"<<endl;
}
};
void runMan()
{
man m;
cout <<"man run"<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
runMan();
return 0;
}


输出结果为:

man begin

man run

man end

假如修改runMan()的实现形式为

void runMan()
{
{
man m;
}
cout <<"run man"<<endl;
}


输出结果为:

man begin

man end

man run
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: