函数指针作为函数参数

原创 2013年12月02日 19:14:12
#include <iostream>
using namespace std;
void square(int &x,int &y)
{
   x=x*x;
   y=y*y;
}
void cube(int &x,int &y)
{
   x=x*x*x;
   y=y*y*y;
}
void Swap(int &x,int &y)
{
   int z;
   z=x;
   x=y;
   y=z;
}
void print(void(*p)(int &x,int &y),int &x,int &y) //该函数有3个参数,第1个是一个函数指针p,它指向的函数带有两个参数,并返回一个void值,另外还有两个int型引用x和y
{
   cout<<"执行函数前\n";
   cout<<"x:"<<x<<"\t"<<"y:"<<y<<endl;
   p(x,y);
   cout<<"执行函数后\n";
   cout<<"x:"<<x<<"\t"<<"y:"<<y<<endl;
}
int main()
{
   int a=2,b=3;
   char choice;
   bool quit=false;
   void (*p)(int &,int &);
//声明的p为一个函数指针,它所指向的函数带有两个参数并返回 一个void值
   while(quit==false)
   {
      cout<<"(0)退出(1)平方(2)立方(3)交换参数:";
      cin>>choice;
      switch(choice)
      {
         case '0':quit=true;
         case '1':p=square;break; //输入1,将函数名square的地址赋给p
         case '2':p=cube;break; //输入2,将函数名cube的地址赋给p
         case '3':p=Swap;break; //输入3,将函数名Swap的地址赋给p
         default:p=0;break;
      }
      if(quit==true)break;
      if(p==0)
      {
         cout<<"请输入0到3之间的数字\n";
         continue;
      }
      print(p,a,b); //调用将函数指针作为参数的函数print
   }
   return 0;
}

相关文章推荐

函数指针作为函数参数

先来看看普通的指针 如果有 int a 那么可以定义一个  int *p = &a 则p是一个指向a的指针 定义指针用一个比较粗浅的方法来说就是把原来的变量名换掉并且前面加星号,比如这里就是把...

C语言函数指针做函数参数案例

本案例利用函数指针当作函数的参数,函数 add(int (*pf)(int*,int),int *a,int n)可以做到传入addOne就对数组a中每个数值加1,传入addTwo就对数组a中每个数值...

函数指针作为函数参数,实现冒泡排序的升序排序和降序排序

#include #define N 10//定义数组元素个数 int Ascending(int a,int b);//升序排列的函数声明 int Descending(int a,int b);...

漫谈C指针第十八讲---函数指针作为函数参数使用

转自:http://www.nowamagic.net/librarys/veda/detail/2136既然函数指针变量是一个变量,当然也可以作为某个函数的参数来使用的。所以,你还应知道函数指针是如...
  • will130
  • will130
  • 2015年09月02日 16:25
  • 215

C++学习笔记(三)--函数参数,数组函数,指针和const,二维数组函数,递归,函数指针

C++ primer plus学习笔记之三,分为一下几个部分: 函数参数:介绍了函数的生命规则以及定义 数组函数:数组作为变量时的使用方法 指针和const:灵活运用指针和const 函数和二维数组:...
  • zmdsjtu
  • zmdsjtu
  • 2016年09月02日 11:29
  • 519

C_指针_数组_函数参数

  • 2015年05月22日 20:33
  • 17KB
  • 下载

函数指针,指针函数,指针的指针做函数参数

1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:函数指针作为函数参数
举报原因:
原因补充:

(最多只允许输入30个字)