Я работаю в простом C (встроенный проекта, мало памяти) и у меня есть структураКак наследовать структуру в простом C
typedef struct
{
int x;
int y;
int z;
float angle;
float angle1;
float angle2;
} Kind1;
Есть случаи, когда мне нужно все поля, и есть случаи, когда мне нужны x, y и только угол.
В C++ я бы создал базовый класс с этими тремя полями, наследовал бы от него еще один класс с дополнительными 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: Странно, что я пропустил это, я попытался сначала найти SO. BTW, синтаксические ошибки - что вы имеете в виду? Очевидно, это своего рода псевдокод. – Flot2011