从另一个基类向结构体添加数据成员
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;
};
在客户端代码中,访问结构体的代码,必须使用新结构体而不是旧结构体。请记住,在许多情况下,这就是构建继承的目的:向现有类添加更多功能!
可以创建一个新的结构体吗?例如:
struct nodeV2
{
Object obj;
nodeV2* next;
nodeV2* previous;
};
对我来说这似乎是最简单的方法。这样,就可以保留原来的结构体,而不涉及继承。
祝你一切顺利。
相关文章:
- 用于访问容器<T>数据成员的正确 API
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 数据成员SFINAE的C++17测试:gcc vs clang
- 派生类是否可以在抽象工厂设计模式中具有数据成员
- 如何在c++中定义以struct为数据成员的类中的构造函数
- 静态数据成员模板专用化的实例化点在哪里
- int数据类型的指针指向的是什么,如果是一个类的私有数据成员,我们创建了该类的两个对象?
- 使用指针访问数组中的对象数据成员
- 友元函数无法访问私有数据成员 (c++)
- 我可以在 C++ 中将数据成员/变量从其定义之外添加到结构中吗?
- 将私有数据成员添加到野牛生成的类中
- 通过使用具有私有数据成员的类重载 + 运算符来添加分数
- 为什么添加静态数据成员会导致链接器失败
- 为什么为结构的多个数据成员而不是单个成员添加填充
- 添加/删除具有模板参数的数据成员
- 当派生类添加了数据成员时,派生类的构造函数应该如何像c++中那样
- C++ -<Task> 删除堆上分配的任务数组时,将列表 l(或任何 STL 容器)添加为数据成员会导致错误
- 如何将其他数据成员"number"添加到帐户类?
- 跟踪何时为增强序列化添加数据成员
- 从另一个基类向结构体添加数据成员