在C語言中,實現多態可以通過函數指針和結構體來實現。具體步驟如下:
typedef struct {
void (*func)();
} Base;
typedef struct {
Base base;
// 派生類的其他成員
} Derived;
void derived_func() {
// 派生類的具體實現
}
Derived derived;
Base* base = (Base*)&derived;
base->func = derived_func;
base->func();
這樣就實現了在C語言中的多態。在運行時,根據函數指針指向的具體成員函數,調用不同的派生類實現。