gpt4 book ai didi

c++ - 从基础创建派生结构

转载 作者:行者123 更新时间:2023-11-28 06:56:30 27 4
gpt4 key购买 nike

我有一个来自包含许多数据字段的库的 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com