程序5.13:函数指针.cpp

来自「学习C++的一些范例」· C++ 代码 · 共 41 行

CPP
41
字号
/* 程序5.13:函数指针.cpp */
#include <iostream>
using namespace std;

int Sum1(int iNum)
{
	return (100+iNum)*(iNum/2);
}
int Sum2(int iNum)
{
	return iNum*((iNum+1)/2);
}
void Display(int (*fPtr)(int iNum1),int iNum2)
{
	cout<<"1到"<<iNum2<<"之和为:";
	cout<<(*fPtr)(iNum2)<<endl;
}
int main()
{
	int iNumber;
//	int iSun
	int (*funPtr)(int iNum);
	cout<<"请输入一个自然数: ";
	cin>>iNumber;
	if(iNumber%2==0)
	{
		funPtr=Sum1;
//		iSum=(*funPtr)(iNumber);	//使用指针调用Sum1(iNumber)
//		iSum=Sum1(iNumber);			//直接调用Sum1(iNumber)
	}
	else
	{
		funPtr=Sum2;
//		iSum=(*funPtr)(iNumber);	//使用指针调用Sum2(iNumber)
//		iSum=Sum2(iNumber);			//直接调用Sum2(iNumber)		
	}
	Display(funPtr,iNumber);
//	cout<<"1到"<<iNum2<<"之和为:"<<iSum<<endl;
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?