C是通过函数指针做函数参数来实现类似C++多态的效果。
程序:
#include <stdio.h>
void test(int a, int b) { //模块
if (a > b)printf("%d", a);
else printf("%d", b);
}
typedef void(*f)(int, int);
void test1(f p) { //函数指针做函数参数 主框架
p(1, 2);
}
void test2(void(*p)(int, int)) { //函数指针做函数参数
p(2, 3);
}
int main() { //测试程序
f p;
p = test;
test1(p);
test2(p);
system("pause");
}