在头文件中实现帮助程序类

Implementing a helper class in a header file

本文关键字:帮助程序 实现 文件      更新时间:2023-10-16

>在头文件中说 我可以完全定义一个帮助程序类并在包含标头的类文件中使用它吗? 正确的做法是什么?页眉

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 不是我的头文件中的类型名称。

这完全没问题。我对你的代码做了一些修复。

LinkedList.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++类中的默认访问级别是私有的,因此您不能访问构造函数中LinkedList Node的私有数据成员。