我在一个普通的C(嵌入式项目,很少的内存)工作,我有一个结构如何继承结构在一个普通的C
typedef struct
{
int x;
int y;
int z;
float angle;
float angle1;
float angle2;
} Kind1;
有,当我需要各个领域的情况下,有这样的情况当我只需要x,y和角度时。
在C++中,我将创建一个包含这3个字段的基类,并从另一个类继承另外3个字段,并根据需要实例化一个或另一个类。我如何在纯C中模拟这种行为?
我知道我可以做类似
typedef struct
{
int x;
int y;
float angle;
} Kind1;
typedef struct
{
Kind1 basedata;
int z;
float angle2;
float angle3;
} Kind2;
但我不能传递指针Kind2在请求一个指向Kind1。
我知道这是可能的类型转换和偏移指针,我只是想知道是否有更好,更安全的方法。
使用Kind1和Kind2的联合 – RolandXu
http://stackoverflow.com/q/10872130/905902的可能重复,包括语法错误。 – wildplasser
@wildplasser:我错过了这一个,很奇怪,我试着先搜索一下。 BTW,语法错误 - 你是什么意思?这显然是一种伪代码。 – Flot2011