C++中的函数指针转函数参数的方法

前言:这个是C++学习第八天的学习内容,虽然比较简单但是思想及其受用,在此记上一笔以加深印象!

话不多说直接上问题和代码

 

问题描述:

诸葛亮的锦囊妙计

刘备利用周瑜、曹仁厮杀之际,乘虚袭取了南郡、荆州、襄阳,以后又征服了长沙等四郡。周瑜想想十分气恨,正无处报复以夺还荆州。不久,刘备忽然丧偶,周瑜计上心来,对孙权说:“您的妹妹,美丽、刚强,我们以联姻抗曹名义向刘备招亲,把他骗来南徐幽禁,逼他们拿荆州来换。”孙权大喜,郎派人到荆州说亲。

刘备认为这是骗局,想要拒绝,诸葛亮笑道:“送个好妻子上门何不答应?您只管去东吴,我叫赵云陪您去,自有安排,包您得了夫人又不失荆州。”

接着,诸葛亮暗暗关照赵云道:“我这里有三个锦囊,内藏三条妙计。到南徐时打开第一个,到年底时打开第二个,危急无路时打开第三个。”

第一个锦囊

         一到东吴就拜会乔国老

第二个锦囊

         刘备被孙权设计留下就对他谎称曹操大军压境

第三个锦囊

         被东吴军队追赶就求孙夫人解围

 

代码解决:

#include<iostream>
#include<stdlib.h>
using namespace std;

//任务的实现者
void GreatIdea1()
{
	cout << "第一个锦囊:\n\t一到江东就拜会乔国佬" << endl;
}

void GreatIdea2()
{
	cout << "第一个锦囊:\n\t刘备被孙权设计留下就对他谎称曹操大军压境" << endl;
}

void GreatIdea3()
{
	cout << "第一个锦囊:\n\t被东吴军队追赶就求孙夫人解围" << endl;
}

//定义函数指针类型,确定一个函数指针,无函数参数,返回值为void
//typedef void(*MyIdea)();
//
任务的调用者
//void MainOp(MyIdea my)
//{
//	my();
//}

void MainOp(void(*MyIdea)())
{
	MyIdea();
}

void main()
{
	MainOp(GreatIdea1);
	MainOp(GreatIdea2);
	MainOp(GreatIdea3);
	system("pause");
}

 其特点是将问题的调用和问题的分开,当不同的厂商对自己的函数进行改变时只需要对自己的函数进行改变时,只需要将自己的函数按照函数指针的标准进行改变就行,可以产生,厂商变化时,调用者即产品使用者不需要做很大的改变即可完成对接!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值