链表节点的析构函数

时间:2014-04-13 01:52:51

标签: c++ linked-list destructor

我的链接列表中有一个Node类和一个List类。我需要在Node类中使用析构函数,还是应该在List类中使用析构函数来删除所有节点?

到目前为止,这是我的.h:

class Node
{

public:

    int value;
    Node* next;
    Node();
    Node(int);
};

class List
{

private:

     Node* head;

public:

    List();
    List(List &a);
    ~List();
    //additional functions (insert, delete, etc)
};

1 个答案:

答案 0 :(得分:1)

这取决于您创建链表节点的方式。如果你“新”它,那么你必须调用“删除”才能释放内存。从您的类定义看起来您没有在构造函数中分配任何内容。如果在构造函数中分配了任何内存,那么你必须在析构函数中释放它。

相关问题