//C语言多态例子
//951868692@qq.com
#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 语言多态实现例子
最新推荐文章于 2024-07-07 22:04:31 发布