仰望星空
分类: C/C++
2016-03-07 09:27:11
析构函数也是一种特殊的成员函数。它执行与构造函数相反的操作,通常用于撤消对象时的一些清理任务,如释放分配给对象的内存空间等。析构函数有以下一些特点:
(1)析构函数与构造函数名字相同,但它前面必须加一个波浪号(~);
(2)析构函数没有参数,也没有返回值,而且不能重载。因此在一个类中只能有一个析构函数;
(3)当撤消对象时,编译系统会自动地调用析构函数。
#include
using namespace std;
class test
{
public:
int x, y;
test();
test(int a, int b);
void get();
~test();//析构函数
};
test::test()
{
cout<<"缺省构造函数"<
x = y = 0;
}
test::test(int a, int b)
{
cout<<"带参数构造函数"<
x = a; y = b;
}
void test::get()
{
cout<<"x = "<
}
test::~test()
{
cout<<"析构函数"<
}
int main()
{
test t1, t2(11, 22);
t1.get();
t2.get();//最终调用两次析构函数
return 0;
}