面向对象在思维不在语言之C 语言多态实现例子

//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/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值