析构函数是类中一个重要的函数,用于释放类对象使用的资源,并销毁对象的非static数据成员。当类对象被销毁时,会自动调用其析构函数,销毁对象的所有非静态的数据成员,从而避免内存泄露。 对于C++初学者,当有继承关系时,由于析构函数掌握不够,容易在销毁对象时造成内存泄露。以下从销毁对象时发生内存泄露的情况、解决内存泄露的两种方法及原理来帮助读者掌握析构函数。
首先,写一个Child类继承Base类:
#include<iostream>
using namespace std;
class Base
{
public:
Base() {
cout << "Base的构造函数" << endl; }
~Base() {
cout << "Base的析构函数" << endl; }
};
class Child:public Base
{
public:
Child() {
cout << "Child的构造函数" <<