C++ 将数据成员添加到来自另一个基数的结构 class

C++ Adding a data member to a struct from another base class

美好的一天。我正忙于为大学的一个项目编写代码,我想知道如何将数据成员添加到节点结构(对于链表),但该结构之前已定义。我不能只在原始结构中定义所有内容,因为说明另有说明。

这是我的结构,位于 ListAsSSL.h 文件中:

struct node
{
     node* next;
     Object obj;
};

我可以在另一个头文件中这样做吗:

struct node: node
{
    node* previous;
};

谢谢。我只是自学了 Decorator 模式,但它只展示了如何使用 类 而不是结构。

感谢您的协助。 理查德

不,你不能像那样扩展 struct。使用继承创建一个新的 struct,像这样:

struct node
{
     node* next;
     Object obj;
};

在您的其他文件中:

struct newNode: node
{
    node* previous;
};

并且在您的客户端代码中,即访问结构的代码中,您必须使用新结构而不是旧结构。请记住,在许多情况下,这就是继承的目的:向现有的 class!

添加更多功能

你能创建一个新的结构吗?例如:

struct nodeV2
{
     Object obj;

     nodeV2* next;
     nodeV2* previous;
};

对我来说,这似乎是最简单的方法。这样,您可以保留原始结构,同时不会进入继承。

祝一切顺利。