一、【定义】:
析构函数:与构造函数功能相反,在对象被销毁时,由编译器自动调用,完成类的一些资源清理和汕尾工作
二、【特性】
a、析构函数在类名(即构造函数名)加上字符~。
b、析构函数无参数无返回值。所以不支持重载
c、一个类有且只有一个析构函数。若未显示定义,系统会自动生成缺省的析构函数。
d、对象生命周期结束时,C++编译系统系统自动调用析构函数。
e、注意析构函数体内并不是删除对象,而是做一些清理工作
f、一个类里面只有一个,在对象被销毁的时候只调用一次 (将对象所有的东西都包含了)
g、析构顺序:利用栈的特性,先进后出,所以对后进的对象先进行析构,与构造函数生成对象的顺序相反。
举个很简单的例子:
class Date
{
public:
Date()
{
cout<<"Date()"<<endl;
}
~Date()
{
cout<<"~Date()"<<endl;
}
private:
int date;
};