图解:
代码实现
#include <iostream>
using namespace std;
int myAdd(int a, int b)
{
printf("myAdd : %d\n", a + b);
return a + b;
}
int myMulti(int a, int b)
{
printf("myMulti : %d\n", a * b);
return a * b;
}
int myAdd3(int a, int b)
{
printf("myAdd3 : %d\n", a + b);
return a + b;
}
int myAdd4(int a, int b)
{
printf("myAdd4 : %d\n", a + b);
return a + b;
}
typedef int (*myFuncPointerType)(int a, int b);
int MainOp(myFuncPointerType myFuncAdd)
{
int c = myFuncAdd(5, 6);//间接调用
return c;
}
int main()
{
MainOp(myAdd);
MainOp(myMulti);
MainOp(myAdd3);
MainOp(myAdd4);
return 0;
}