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

时间:2016-10-13 13:12:14

标签: c++ struct add decorator

美好的一天。我正忙着为大学的项目编写代码,我想知道如何将数据成员添加到节点结构(对于链表),但结构先前已经定义过。我不能在原始结构中将其全部定义为指令另有说明。

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

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

我可以在另一个头文件中执行此操作:

struct node: node
{
    node* previous;
};

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

感谢您的帮助。 理查德

2 个答案:

答案 0 :(得分:4)

不,你不能像这样延长struct。使用继承创建一个新的struct,如下所示:

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

在您的其他文件中:

struct newNode: node
{
    node* previous;
};

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

答案 1 :(得分:0)

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

struct nodeV2
{
     Object obj;

     nodeV2* next;
     nodeV2* previous;
};

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

一切顺利。