函数指针做函数参数

//函数指针
#include
using namespace std;
int myAdd(int a, int b){
cout << "myAdd a+b: " << a + b << endl;
return a + b;
}
int myAdd2(int a, int b){
cout << "myAdd2 a+b+b: " << a + b + b << endl;
return a + b + b;
}
int myAdd3(int a, int b){
cout << "myAdd3 a+a+b: " << a + a + b << endl;
return a + a + b;
}
//定义一个类型
typedef int(*MytypeAdd)(int a, int b);
//函数指针 做参数
int mainOp(MytypeAdd myfun){
return myfun(3, 4);
}
int mainOp2(int(*MytypeAdd)(int a, int b)){
return MytypeAdd(5, 6);
}
//意义:任务的调用与任务的编写分离(实现解耦合) 主框架测试函数不发生任何变化
int main()
{
MytypeAdd add = NULL;
add = myAdd;
add(4, 5);
mainOp(myAdd);
mainOp2(myAdd);
//主框架不发生变化 类似多态
MytypeAdd add2 = NULL;
add2 = myAdd2;
mainOp(myAdd2);
mainOp2(myAdd2);
system(“pause”);
return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值