//C語言多態例子
//[email protected]
#include <stdio.h>
typedef struct
{
void (*run)(void);
void (*fly)(void);
void (*speak)(void);
}funInterface_t;
//小紅實現
static void xiaohongRun(void)
{
printf("xiaohong run....\n");
}
static void xiaohongFly(void)
{
printf("xiaohong fly...\n");
}
static void xiaohongSpeak(void)
{
printf("xiaohong speak...\n");
}
funInterface_t xiaohong_implement_funInterface =
{
.run = xiaohongRun,
.fly = xiaohongFly,
.speak =xiaohongSpeak,
};
//小明實現
static void xiaomingRun(void)
{
printf("xiaoming run....\n");
}
static void xiaomingFly(void)
{
printf("xiaoming fly...\n");
}
static void xiaomingSpeak(void)
{
printf("xiaoming speak...\n");
}
funInterface_t xiaoming_implement_funInterface =
{
.run = xiaomingRun,
.fly = xiaomingFly,
.speak= xiaomingSpeak,
};
int main(void)
{
funInterface_t* xiaohong= &xiaohong_implement_funInterface;
funInterface_t* xiaoming= &xiaoming_implement_funInterface;
printf("run....\n");
xiaohong ->run();
xiaohong ->fly();
xiaohong ->speak();
xiaoming ->run();
xiaoming ->fly();
xiaoming ->speak();
return 0;
}
//C語言在線測試網站
//http://www.dooccn.com/c/
面向對象在思維不在語言之C 語言多態實現例子
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.