第十六周项目三 用函数指针调用函数

C++函数指针实战

项目要求:

将下面的程序补充完整(包括定义函数),使其能够完成图示的功能。请使用已有程序的风格。
void eat();
void sleep();
void  hitdoudou();
void run(void (*f)());
int main()
{
    int iChoice;
    do
    {
        cout<<"请选择(1-吃;2-睡;3-打;其他-退)";
        cin>>iChoice;
        if(iChoice==1)
            run(eat);
        else if(...)
             ...
    }
    while(true);
    return 0;
}

 

问题及代码:

#include <iostream>
using namespace std;
void eat();
void sleep();
void  hitdoudou();
void run(void (*f)());
int main()
{
    int iChoice;
    do
    {
        cout<<"请选择(1-吃;2-睡;3-打;其他-退)";
        cin>>iChoice;
        if(iChoice==1)
            run(eat);
        else if(iChoice==2)
            run(sleep);
        else if (iChoice==3)
            run(hitdoudou);
        else
            break;
    }
    while(true);
    return 0;
}
void eat()
{
    cout<<"我吃吃吃吃吃…\n";
}
void sleep()
{
    cout<<"我爱睡觉皮肤好好!\n";
}
void  hitdoudou()
{
    cout<<"打倒豆豆,立地成佛!\n";
}
void run(void (*f)())//千万别忘了这一步!
{
    f();
}


运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值