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;
};
对我来说,这似乎是最简单的方法。这样,您可以保留原始结构,同时不会进入继承。
祝一切顺利。
美好的一天。我正忙于为大学的一个项目编写代码,我想知道如何将数据成员添加到节点结构(对于链表),但该结构之前已定义。我不能只在原始结构中定义所有内容,因为说明另有说明。
这是我的结构,位于 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;
};
对我来说,这似乎是最简单的方法。这样,您可以保留原始结构,同时不会进入继承。
祝一切顺利。