我目前正在了解数据结构和链接列表。我正在尝试创建一个双相关的列表,我不确定如何完成这样做。 “节点”的数据我希望成为我已经创建的类。我只能在线找到关于链接的列表,他们只需使用整数值,而且我不确定如何最好地合并其他类。

我认为我要做的就是....

我有一个抽象的'帐户'。然后课程“储蓄”和“检查”源自帐户。我希望将“节点”的数据成为一个帐户类型,可能是基类指针,所以可以使用“节省”和“检查”。

我不确定是,让我们在“节点”类中,我的私有数据成员是一个基类“帐户”指向帐户本身的指针,nextPointer和prevardpointer。 “类列表”将管理链接列表,并创建新节点。但是,我将如何访问帐户的成员函数?

我想知道这是什么方法是什么?我应该向Class'Node'添加Getter,调用帐户getter函数以检索有关帐户的数据?或者会更好地制作“储蓄”并“检查”节点本身,并将下一个指针和前一指针添加到私有数据成员?

有帮助吗?

解决方案

您应该创建一般的双倍列表

template <class T> class List{
    T value;
    Node& next; //Or Node* whatever you choose
    Node& prev;
    public:
     ...
 };
.

以这种方式,您的列表将其应当 - 作为列表。 现在,如果您需要一个帐户列表,只需声明一个

List<Account> allAccounts = new List<Account>(); //assuming there's a default c'tor
.

,如果您需要在帐户和其余部分之间进行一些关系,您可以使用继承。

您使列表通用且不限制为任何类型的事实会使您的代码看起来更优雅,干净,有意义。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top