c++中的析构函数与构造函数的区别
4个回答
展开全部
c++中的析构函数与构造函数的区别主要是功能上的区别:
构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。
析构函数(destructor) 与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。
例子:
#include<iostream>
using namespace std;
class T
{
public:
T(){cout<<"析构函数被调用。";}
~T(){cout<<"析构函数被调用。";} //为了简洁,函数体可以直接写在定义的后面,此时函数为内联函数
};
int main()
{
T *t=new T();//建立一个T类的指针对象t//调用构造函数
delete t;//调用析构函数
cin.get();
};
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
构造函数是用来完成成员初始化的,析构是运行完程序释放掉变量的存储空间
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询