#include <iostream>
#include <vector>
int Max(int, int);
int AddPlus(int, int);
int Minus(int, int);
int main()
{
//define a int pointer of Func
typedef int(*FuncPointer)(int,int);
//重新定义函数指针类型
FuncPointer FPter[] = { Max, AddPlus, Minus };
std::vector<FuncPointer> FPvec;
for (size_t i = 0; i < 3;i++)
{
FPvec.push_back(FPter[i]);
}
for (size_t k = 0; k < FPvec.size();k++)
{
//以下两种情况均可
//(*FPvec[k])(k, 2.0*k - 1); //第一种
(FPvec[k])(k, 2.0*k - 1); //第二种
}
return 0;
}
int Max(int x, int y)
{
std::cout << "Max Function Test!" << std::endl;
std::cout << (x > y ? x : y) << std::endl;
return (x > y ? x : y);
}
int AddPlus(int x, int y)
{
std::cout << "AddPlus Function Test!" << std::endl;
std::cout << (x + y) << std::endl;
return (x + y);
}
int Minus(int x, int y)
{
std::cout << "Minus Function Test!" << std::endl;
std::cout << abs(x - y) << std::endl;
return abs(x - y);
}
typedef 以及vector的应用
最新推荐文章于 2021-11-21 23:39:53 发布