在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语言中的多态。在运行时,根据函数指针指向的具体成员函数,调用不同的派生类实现。