从另一个基类向结构体添加数据成员

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

本文关键字:添加 数据成员 结构体 另一个 基类      更新时间:2023-10-16

大家好。我正忙着为大学的一个项目编码,我想知道如何将数据成员添加到节点结构(用于链表),但该结构先前已定义。我不能在原始结构体中定义所有的指令,否则

这是我的结构,位于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;
};

在客户端代码中,访问结构体的代码,必须使用新结构体而不是旧结构体。请记住,在许多情况下,这就是构建继承的目的:向现有类添加更多功能!

可以创建一个新的结构体吗?例如:

struct nodeV2
{
     Object obj;
     nodeV2* next;
     nodeV2* previous;
};

对我来说这似乎是最简单的方法。这样,就可以保留原来的结构体,而不涉及继承。

祝你一切顺利。