0

在头文件中说我可以完全定义一个帮助类并在包含头文件的类文件中使用它。正确的做法是什么?//标题

class LinkedList() {
   public:
       LinkedList(int a);
   private:
      Node *root;
      class Node {
        int data;
        Node *next;
      };
};  

//cpp文件

#include "LinkedList"
LinkedList::LinkedList(int a) {
    root = new Node();
    root.data = a;
    root->next = NULL;
}

当我尝试做类似的事情时,它最终会说 Node 不是我的头文件中的类型名称。

4

1 回答 1

1

那完全没问题。我对您的代码进行了一些修复。

链表.h

class LinkedList
{
  public:
       LinkedList(int a);
   private:
      class Node {
      public:
        int data;
        Node *next;
      };
      Node *root;
};

链表.cpp

LinkedList::LinkedList(int a) {
    root = new Node();
    root->data = a;
    root->next = NULL;
}

Node您甚至在声明和定义它之前就尝试使用它。C++ 类中的默认访问级别是私有的,因此您无法访问构造函数Node中的私有数据成员LinkedList

于 2013-11-10T08:49:49.743 回答