And*_*ira 1 c c++ inheritance struct
谈论结构,是否可以将一个struct
字段复制到另一个struct
而不显式调用类型字段名称?
让我举个例子:
struct StructA
{
char Name[20];
int Age;
};
struct StructB
{
StructA FieldStructA;
int SomeOtherDeclarations;
// ...
};
Run Code Online (Sandbox Code Playgroud)
所以,我可以访问这些StructA
字段StructB
:
StructB strB;
strB.FieldStructA.Name[0] = 0;
Run Code Online (Sandbox Code Playgroud)
我想要做的是访问StructA
字段StructB
而不访问StructB上的数据字段.类似于类之间的继承.像这样:
StructB strB;
strB.Name[0] = 0;
Run Code Online (Sandbox Code Playgroud)
我想继承StructA
字段StructB
.我知道我可以用类来做,但由于某些原因我必须使用struct(互操作,堆栈的具体使用等).
谢谢你的时间!
您可以使用继承在C++中执行此操作:
struct StructB: public StructA
{
int SomeOtherDeclarations;
// ...
};
Run Code Online (Sandbox Code Playgroud)
鉴于此,您可以这样做
StructB strB;
strB.Name[0] = 0;
Run Code Online (Sandbox Code Playgroud)