typedef 以及vector的应用

#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);
}

发布了4 篇原创文章 · 获赞 4 · 访问量 6133
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览