析构器的特点
- 与类名相同(除了~),无参,无返回
无参数意味着
不需要重载
,也没有默认参数
- 对象消失的时候,自动被调用,用于对象销毁时的内存处理工作
- 如果我们没有自己写一个
析构器
,那么系统就会默认生成一个空析构器
当没有
内存
需要我们处理的时候,我们是可以不用自己写析构器
的(比如没有指针变量
)
C语言中的析构
麻烦之处——
C语言的析构
- 函数是不占空间的
博客示例源代码
#include <iostream>
using namespace std;
class Stu
{
public:
Stu()
{
name = new char[100];
}
~Stu()
{
delete []name;
}
private:
char *name;
// int name // 可以不用写类析构器了
int age;
}
int main()
{
Stu *ps = new Stu;
strcpy(ps->name, "sdfadd");
delete ps;
}
网友评论