析构函数Destructor详解代码

析构函数Destructor与构造函数是相反的,构造函数一般完成些初始化工作,哪么析构函数就是完成一些收尾工作。

析构函数是在C++对象销毁的时候自己掉用。哪什么时候对象会被销毁?两种情况:

1.当某个对象离开作用域时;? ?作用域不明白的请看这篇:C++支持哪些作用域

2.当调用delete删除某个对象时;

析构函数的定义:

析构函数以“~”引起,函数名与类名一样,不能有返回值,参数表必须为空。

下面写段代码来分析析构函数的调用。

输出:

A a2;调用析构函数是因为main函数结束,a2对象销毁,这种就是对象离开作用域时调用。

delete pa;调用析构函数,因为delete删除pa对象销毁。

注:1.对象离开作用域时,析构函数调用,大家可以利用这一点。可以反过来,通过析构函数的调用来理解对象的作用域。比如不知道这个对象作用域是到哪,可以在析构函数里面做下标记,写个程序运行下,看什么调用析构函数,就说明作用域到哪。

2.可以在析构函数里做一些对象运行时的记录,在调用析构函数时保存。编程经验

《析构函数Destructor详解代码》上有27条评论

评论已关闭。