#include<iostream>
#include<vector>
#include<string>
using namespace std;
int fun(const int);
//int fun(const int&,const int&);
int fun(int ,int);
string fun(const string,const string);
int fun(int ,int(*)(int,int));//指向函数的指针做形参
int main()
{ int a,b;
a=10;
b=20;
typedef int (*cmpfun2)(int ,int); //定义一个类型 cmpfun2,指向函数 int (int,int);
// cmpfun1 p1=fun;
cmpfun2 p2=fun; //给指针赋值,指向 int fun(int,int)这个函数
// cout<<fun(5,6)<<endl;
cout<<fun(a,b)<<endl;
//cout<<p1(100,200)<<endl;
cout<<fun("abc","bcd")<<endl;
cout<<fun(100,*p2)<<endl; //调用函数,传递一个指向函数的形参 *p2
system("pause");
return 0;
}
int fun(const int a)
{
return a;
}
int fun(int a,int b)
{
return a+b;
}
//int fun(const int& a,const int& b)
///{
//return a+b;
//}
string fun(const string s1,const string s2)
{
return s1+s2;
}
int fun(int a,int(*p)(int,int))
{
int b=p(300,400);
return a+b;
}