C/C++函数指针用法

在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";
}

运行结果:

posted on 2011-05-13 23:59  COS  阅读(578)  评论(2编辑  收藏  举报