我的链接列表中有一个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)
};
答案 0 :(得分:1)
这取决于您创建链表节点的方式。如果你“新”它,那么你必须调用“删除”才能释放内存。从您的类定义看起来您没有在构造函数中分配任何内容。如果在构造函数中分配了任何内存,那么你必须在析构函数中释放它。