8.5 C++函数指针变量调用函数 | 求两个数中的大数

C++函数指针变量调用函数

在C++中,指针变量也可以指向一个函数,一个函数在编译时被分配给一个入口地址,这个函数入口地址就称为函数的指针,可以用一个指针变量指向函数,然后通过该指针变量调用此函数。

指向函数的指针变量的一般定义形式为

函数类型 *指针变量名)(函数形参表);

经典案例:C++求两个数中的大数。

#include<iostream>//预处理
#include<string>
using namespace std;//命名空间 
int main()//主函数 
{
  int max_Number(int num1,int num2);//函数声明 
  int num1,num2,max;//定义变量 
  cin>>num1>>num2;//键盘输入两个数 
  max=max_Number(num1,num2);//调用max_Number 
  cout<<"大数是:"<<max<<endl;//输出结果 
  return 0; //函数返回值为0;
} 
int max_Number(int num1,int num2)//自定义求最大值函数 
{
  int temp;//定义中间变量 
  if(num1>num2)//如果num1大于num2 
  { temp=num1;//把大的赋值给temp 
  }
  else
  { temp=num2;//把大的赋值给temp 
  }
  return temp;//把temp值返回到函数调用处 
}

执行本程序之后,会输出:

5 9
大数是:9

--------------------------------
Process exited after 7.108 seconds with return value 0
请按任意键继续. . .

可以用一个指针变量指向max_Number函数,然后通过该指针变量调用此函数,定义指向max_Number函数的指针变量的方法是:

int (*p)(int,int);
8.5 C++函数指针变量调用函数 mp.weixin.qq.com图标

文章来源: zhuanlan.zhihu.com,作者:小林C语言,版权归原作者所有,如需转载,请联系作者。

原文链接:zhuanlan.zhihu.com/p/338352191

(完)