我有一个来自包含许多数据字段的库的 POD 结构:
struct A {
int foo1;
float foo2;
...
};
现在我想扩展它以添加一些自定义数据并想到:
struct B : public A {
int bar1;
bool bar2;
};
从 A
实例创建 B
实例的好方法是什么?这不起作用:
A a;
B b = a;
最佳答案
(编辑:删除了添加构造函数 B(A const &)
的建议,OP 的更新建议不应修改给定的结构。)
您可以创建一个B
,然后使用编译器生成的A::operator=(A&)
:
A a = { whatever };
B b = { whatever };
static_cast<A &>(b) = a;
关于c++ - 从基础创建派生结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23112267/