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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章