我在一個普通的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