在C语言中,就是通过使用函数指针来实现C++中的多态的
#include<iostream> using namespace std; int max(int,int); int min(int,int); int add(int,int); void process(int,int,int (*fun)(int,int)); void main() { int a,b; cin>>a>>b; cout<<"max="; process(a,b,max); cout<<"min="; process(a,b,min); cout<<"add="; process(a,b,add); } int max(int x,int y) { return ( x > y ? x : y ); } int min(int x,int y) { return ( x < y ? x : y ); } int add(int x,int y) { return ( x + y ); } void process(int x,int y,int (*fun)(int,int)) { int result=fun(x,y);//result=(*fun)(x,y); cout<<fun<<" "<<*fun<<" "; cout<<result<<"n"; }
运行结果:
原文链接: https://www.cnblogs.com/wintergrass/archive/2011/05/13/2045953.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/25405
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!