gpt4 book ai didi

c++ - 创建对象的链接列表

转载 作者:行者123 更新时间:2023-11-30 04:35:19 25 4
gpt4 key购买 nike

我有一个类作业(阅读:不使用 STL),我需要在其中创建对象的排序链接列表,但我不太确定如何去做。

我正在使用的类同时包含整数和字符串成员,但它只会对这些整数成员之一进行排序。我目前有一个功能齐全的链表模板,可以成功运行整数数据。

现在我的问题在于将其转换为适用于我的类(class)。在实例化此链表时,一个 <Type>必须定义,在这种情况下类型是 Poster ,在我整理的类(class)海报之后。但是在链表类的声明中,有class Node的声明和定义。上面写着

class Node
{
public:
Type Element;
Node *Next, *Previous;

Node() : Next(NULL), Previous(NULL) {} // Default constructor
Node (Type Data, Node *PNode = NULL) : // Non-default constructor
Element (Data),
Next (PNode),
Previous (PNode) {}
};

我不确定当 Poster 的成员时这个现有定义将如何工作LinkedList<Poster> listOfPosters时介绍被宣布。我应该替换上面的 Node 定义吗?内容为 class Poster ,或将 Type Element在节点中标记为 class Poster 成员的一种包罗万象的容器,所以 Poster 的成员可以通过Element.GetMemberValue()访问?

最佳答案

我猜 LinkedList 类的声明看起来像

template<class Type>
class LinkedList
{ ... }

当使用链表类的程序(主程序)像下面这样实例化一个LinkedList类时

LinkedList<Poster> myLinkedList;

编译器在编译时从模板生成代码,并将所有出现的“Type”替换为“Poster”。因此,您无需更改链表或节点类。

关于c++ - 创建对象的链接列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5400101/

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