1编写4个函数,分别对两个int值执行加、减、乘、除运算使用vector对象中保存只想这些函数的指针。
#include<iostream>
#include<vector>
using namespace std;
int fun1(int x,int y);
int fun2(int x,int y);
int fun3(int x,int y);
int fun4(int x,int y);
int main()
{
vector<int(*)(int,int)> v;//vector<decltype(fun1)*> v;
v.push_back(fun1);
v.push_back(fun2);
v.push_back(fun3);
v.push_back(fun4);
cout<< v[0](1,2)<<endl;
cout<<v[1](1,2)<<endl;
cout<<v[2](1,2)<<endl;
cout<<v[3](1,2)<<endl;
return 0;
}
int fun1(int x,int y)
{
return (x+y);
}
int fun2(int x,int y)
{
return (x-y);
}
int fun3(int x,int y)
{
return (x*y);
}
int fun4(int x,int y)
{
return (x/y);
}
运行:
[root@localhost C++ primer]# vim func.cpp
[root@localhost C++ primer]# g++ -o func func.cpp -std=c++11
[root@localhost C++ primer]# ./func
3
-1
2
0