在头文件中说我可以完全定义一个辅助类,并在包含头文件的类文件中使用它。这样做的正确方法是什么? // HEADER
class LinkedList() {
public:
LinkedList(int a);
private:
Node *root;
class Node {
int data;
Node *next;
};
};
// cpp file
#include "LinkedList"
LinkedList::LinkedList(int a) {
root = new Node();
root.data = a;
root->next = NULL;
}
当我尝试做类似的事情时,最终说Node不是我头文件中的类型名称。
答案 0 :(得分:0)
这完全没问题。我对你的代码做了一些修复。
<强> LinkedList.h 强>
class LinkedList
{
public:
LinkedList(int a);
private:
class Node {
public:
int data;
Node *next;
};
Node *root;
};
<强> LinkedList.cpp 强>
LinkedList::LinkedList(int a) {
root = new Node();
root->data = a;
root->next = NULL;
}
在您声明并定义它之前,您尝试使用Node
。 C ++类中的默认访问级别是私有的,因此您无法访问Node
构造函数中LinkedList
的私有数据成员。