gpt4 book ai didi

c++ - 如何在 C 和 C++ 中定义结构之间的某种继承?

转载 作者:太空宇宙 更新时间:2023-11-04 00:40:10 24 4
gpt4 key购买 nike

关于结构,是否可以只将 struct 的字段复制到另一个 struct 而无需显式调用类型字段名称?

举个例子:

struct StructA
{
char Name[20];
int Age;
};

struct StructB
{
StructA FieldStructA;

int SomeOtherDeclarations;
// ...
};

因此,我可以访问 StructB 上的 StructA 字段,这样做:

StructB strB;
strB.FieldStructA.Name[0] = 0;

我想做的是通过 StructB 访问 StructA 字段,而不访问 StructB 上的数据字段。类似于类之间的继承。像这样:

StructB strB;
strB.Name[0] = 0;

我想继承 StructB 上的 StructA 字段。我知道我可以用类来做到这一点,但出于某些原因(互操作、堆栈的特定使用等)我必须使用结构。

感谢您的宝贵时间!

最佳答案

您可以使用继承在 C++ 中执行此操作:

struct StructB: public StructA
{
int SomeOtherDeclarations;
// ...
};

鉴于此,您可以这样做

StructB strB;
strB.Name[0] = 0;

关于c++ - 如何在 C 和 C++ 中定义结构之间的某种继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11976085/

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