#include
#include <string.h>
#include <stdlib.h>
using namespace std;
int add(int a, int b)//子任务的实现者
{
printf(“func add() do…”);
return a + b;
}
int add2(int a, int b)//子任务的实现者
{
printf(“func add2() do…”);
return a + b;
}
int add3(int a, int b)//子任务的实现者
{
printf(“func add3() do…”);
return a + b;
}
int add4(int a, int b)//子任务的实现者
{
printf(“func add4() do…”);
return a + b;
}
//定义了一个类型
typedef int (*MyTypeFuncAdd)(int a, int b);
//函数指针做函数参数
int MainOp(MyTypeFuncAdd myFuncAdd)
{
return myFuncAdd(5, 6);
}
//函数指针做函数参数(同上)
int MainOp2(int (*MyTypeFuncAdd)(int a, int b))
{
return MyTypeFuncAdd(7, 8);
}
//任务的调用 和 任务的编写 可以分开
void main()
{
add(1, 2);//直接调用
MyTypeFuncAdd myFuncAdd = &add;
myFuncAdd(3, 4);//间接调用
MainOp(add);
MainOp2(add);
MainOp2(add2);
MainOp2(add3);
MainOp2(add4);
system("pause");
}