我不认为这是可能的,但我应该问:
我有一个“对象”,由头部和尾部精神形成,共同形成身体。 头是数组的元素。
正文有一个存储头部索引的成员。
struct head{ body* bodyP; int kind; int execution_level;}
head heads[0x1000];
struct tail{ int head_index; other_data xxxx; }
struct(或class)“head”还有我需要从尾部访问的方法。
我想要的是可以将“尾巴”的名称改为“body”(简单部分),并且只需使用head_index来引用头部就可以使“body”从头部继承。
答案 0 :(得分:0)
您需要将其绘制出来以显示常见和可选部分。
以下是我对您的问题描述的理解(实施),而不是您的代码:
struct Body; // Forward declaration.
struct Common_To_Head_Tail
{
Body * p_body; // link to a body, hopefully it's same between head and tail.
// Methods common to Head and Tail
};
struct Head
: public Common_To_Head_Tail
{
}
struct Tail
: public Common_To_Head_Tail
{
}
struct Body
{
Head * p_head;
Tail * p_tail;
};
<强>解释强>
头部和尾部有一些共同的东西,例如指向身体的指针(如果你愿意,可以使用索引)。需要前向声明,因此编译器可以解析Body
指针。
Head
和Body
继承(分享)头部和身体的常见内容。
Body 包含头部和尾部。使用指针(索引)是因为部件可以位于其他地方。
希望这有帮助。