本次接着上期类与对象(一)做笔记,接下来的内容是关于析构函数,移动构造函数,default,delete函数的笔记
一. 析构函数
-
析构函数用于对象生命周期结束时自动释放对象所占用的资源,当对象被销毁时,析构函数会被自动调用,进行必要的清理操作
-
析构函数名称与类名相同,只是在前面加了一个“~”号
下面为一个简单的析构函数示例
class Myclass
{
public:
Myclass()//构造函数
{
//进行初始化操作
}
~Myclass()
{
//清理操作如:释放内存,关闭文件
}
};
在以上类中,当Myclass对象被销毁时,析构函数自动调用并进行清理操作(释放内存,关闭文件等),使用动态分配内存(new关键字)时必须手动释放内存(使用delete关键字)才能防止内存泄漏,一般在析构函数中实现delete操作
e.g.
class Myclass
{
public:
Myclass()//构造函数
{
str=new char[10];//通过new动态分配内存分