析构函数:
析构函数在对象销毁时自动调用,归还系统资源。
格式为:~类名()。
class Student
{
public:
Student(){ cout << "Student" << endl; }
~Student(){ cout << "~Student" << endl; }
private:
string m_strName;
};
析构函数的特性:
1.如果没有自定义的析构函数则系统自动生成
2.析构函数在对象销毁时自动调用
3.析构函数没有返回值,没有参数也不能重载
下面一段代码展示了析构函数的重要性。析构函数可以释放掉堆中的内存。
下面一段代码展示了析构函数的重要性。析构函数可以释放掉堆中的内存。
class Student
{
public:
Student(){ m_pName = new char[20]; }//堆中申请了资源
private:
char *m_pName;
};
class Student
{
public:
Student(){ m_pName = new char[20]; }//堆中申请了资源
~Student(){delete []m_pName;}//释放内存
private:
char *m_pName;
};