gpt4 book ai didi

c++ - 结构之外的 Node * head 有什么作用?

转载 作者:行者123 更新时间:2023-11-27 23:37:15 25 4
gpt4 key购买 nike

所以我有 LinkedList 类。有人可以解释为什么 node * head 在结构之外,而 node * next, prev 在结构内部吗?这样做的目的是什么?它与其他的有何不同?谢谢

class LinkedList
{
public:
LinkedList();
~LinkedList();

void add(char ch);
bool find(char ch);
bool del(char ch);
void display(
private:
struct node
{
char data;
node * next;
node * prev;
};
node *head;
};

最佳答案

这个

    struct node
{
char data;
node * next;
node * prev;
};

是类中结构类型的内部声明。

这个

node *head;

LinkedList 类的 struct node * 类型数据成员的声明。为了更清楚地重写列表定义,请按以下方式

struct node
{
char data;
node * next;
node * prev;
};

class LinkedList
{
public:
LinkedList();
~LinkedList();

void add(char ch);
bool find(char ch);
bool del(char ch);
void display(
private:
node *head;
};

将类定义中的结构声明为私有(private)声明使得结构类型对链表的用户不可见。

关于c++ - 结构之外的 Node * head 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58375335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com