大家好,今天小编关注到一个比较有意思的话题,就是关于析构的问题,于是小编就整理了2个相关介绍析构的解答,让我们一起看看吧。
析构函数怎么定义?
析构函数(destructor) 与构造函数相反,当对象结束其生命周期,如对象所在的函数已调用完毕时,系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存,delete会自动调用析构函数后释放内存)。
析构函数与构造函数的区别是什么呢?
1、概念不同:析构函数:对象所在的函数已调用完毕时,系统自动执行析构函数。
构造函数:是一种特殊的方法。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。
2、作用不同:析构函数:析构函数被调用。
构造函数:为对象成员变量赋初始值3、目的不同:析构函数:”清理善后” 的工作构造函数:主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。
一、结论
1、构造函数 __construct:是在对象被创建是自动调用的方法,用来完成初始化操作。
2、析构函数 __destruct():它是用来销毁对象的,同时他也会用于有关联的数据的同步销毁,析构函数不带参数
二、解释、拓展
构造函数有以下特点:
1.构造函数的名字必须与类名相同;
2.构造函数可以有任意类型的参数,但不能具有返回类型;
3.定义对象时,编译系统会自动地调用构造函数;
4.构造函数是特殊的成员函数,函数体可以在类体内,也可写在类体外;
5.构造函数被声明为公有函数,但它不能像其他成员函数那样被显式调用,它是在定义对象的同时被调用的。
到此,以上就是小编对于析构的问题就介绍到这了,希望介绍关于析构的2点解答对大家有用。