C++中函数指针详解及代码分享

2020-01-06 17:57:01刘景俊

函数指针数组:


#include <stdio.h>
#include <stdlib.h>
float add(float a,float b){return a+b;}
float minu(float a,float b){return a-b;}
int main()
{
  //定义一个函数指针数组,大小为2
  //里面存放float (*)(float, float)类型的指针
  float (*pfunArry[2])(float, float) = {&add, &minu};
  double k = pfunArry[0](3.33,2.22);// 调用
  printf("%fn", k);
  k = pfunArry[1](3.33,2.22);
  printf("%fn", k);
  return 0;
}
//c++ 可类比

typedef 简化函数指针类型:


#include <stdio.h>
#include <stdlib.h>
float add(float a,float b)
{
  printf("%fn",a+b);
  return a+b;
}
float minu(float a,float b)
{
  printf("%fn",a-b);
  return a-b;
}
//用pfunType 来表示float(*)(float, float)
typedef float(*pfunType)(float, float);
int main()
{
  pfunType p = &add;//定义函数指针变量
  p(3.33, 2.22);
  pfunType parry[2] = {&add, &minu};//定义函数指针数组
  parry[1](3.33, 2.22);
  //函数指针作为参数可以定义为:void fun(pfunType p)
  //函数指针作为返回值可以定义为:pfunType fun();
  return 0;
}
//c++ 可类比

总结

以上就是本文关于C++中函数指针详解及代码示例的全部内容,希望对大家有所帮助。有什么问题可以随时留言,小编会及时回复大家的。


注:相关教程知识阅读请移步到C++教程频道。