发布网友 发布时间:2022-04-06 07:49
共5个回答
热心网友 时间:2022-04-06 09:18
析构函数是特殊的类成员函数,简单来说,析构函数与构造函数的作用正好相反,它用来完成对象被删除前的一些清理工作,也就是专门的扫尾工作。
如果构造函数打开了一个文件,最后不需要使用时文件就要被关闭,析构函数允许类自动完成类似清理工作,不必调用其他成员函数。
扩展资料:
函数介绍
与构造函数相反,当对象结束其生命周期,如对象所在的函数已调用完毕时,系统会自动执行析构函数。以C++语言为例:析构函数名也应与类名相同,只是在函数名前面加一个位取反符,例如~stud( ),以区别于构造函数。它不能带任何参数,也没有返回值(包括void类型)。
只能有一个析构函数,不能重载。如果用户没有编写析构函数,编译系统会自动生成一个缺省的析构函数(即使自定义了析构函数,编译器也总是会为我们合成一个析构函数。
参考资料来源:百度百科-析构函数
热心网友 时间:2022-04-06 10:36
析构函数(destructor) 与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作.
区别:构造函数是用来完成成员初始化的,析构是运行完程序释放掉变量的存储空间
参考资料:http://ke.baidu.com/view/1277985.html?wtp=tt
热心网友 时间:2022-04-06 12:11
构造函数是送货的,析构函数是收破烂的.
热心网友 时间:2022-04-06 14:02
析构函数用来销毁对象释放资源的
热心网友 时间:2022-04-06 16:10
构函数(destructor) 与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。
以C++语言为例,析构函数名也应与类名相同,只是在函数名前面加一个波浪符~,例如~stud( ),以区别于构造函数。它不能带任何参数,也没有返回值(包括void类型)。只能有一个析构函数,不能重载。如果用户没有编写析构函数,编译系统会自动生成一个缺省的析构函数,它也不进行任何操作。所以许多简单的类中没有用显式的析构函数。