北方民族大学程序设计语言课件第五章 指针与引用.pptVIP

  • 1
  • 0
  • 约2.91万字
  • 约 105页
  • 2019-05-06 发布于广东
  • 举报

北方民族大学程序设计语言课件第五章 指针与引用.ppt

【 5.1.4 与对象有关的指针】 声明一个指针来保存对象的地址,这个指针就是指向对象的指针,简称对象的指针。 C++语言提供了另一个更常用的方法: 例 5-4 (续) (续) this指针也是一个指向对象的指针,它隐含在类成员函数中,用来指向成员函数所属类的正在被操作的对象。 例 5-5 (续) (续) 例 5-6 (续) 例 5-7 例 5-12 例 5-17 { int i,j; int (*p2)[2]; p2=new int[3][2]; for(i=0;i3;i++) for(j=0;j2;j++) p2[i][j]=p1[j][i]; return p2[0]; } 函数名是一个指向函数首地址的指针常量。可以声明一个指向函数的指 针,并使用该指针来调用函数。指向函数的指针通常简称为函数指针。 声明的一般形式如下: 数据类型 (*指针名)(参数表); 指函数返回值的类型,参数表中的内容应与指针所指向的函数的形参表相同。 【 5.4.3 函数指针】 比如: int (*pfun)(int,int); 声明的函数指针可以指向一个函数的首地址,该函数的返回值类型和形参表都必须与上述声明中指定的相同。 赋值的一般方法如下: 函数指针名=函数名 使用函数指针时,必须先赋值。 函数指针 #includeiostream.h void add(double x,double y); void sub(double x,double y); void mul(double x,double y); void div(double x,double y); 函数名所代表的函数必须是函数指针可以指向的。 声明了指针pfun。该指针可以指向返回值为int型,有两个int型参数的函数。 int main() { void (*pfun)(double,double); //声明函数指针 double x,y; char choice; cout请输入两个操作数:; cinxy; coutendl; cout请输入运算符:(+ or - or * or /); cinchoice; coutendl; if(choice==′+′) pfun=add; //指针指向函数add else if(choice==′-′) pfun=sub; //指针指向函数sub else if(choice==′*′) pfun=mul; //指针指向函数mul else if(choice==′/′) pfun=div; //指针指向函数div else {cout″The input is error!″; return 1; } pfun(x,y); //利用指针调用相应函数 return 0; } (续) void add(double x,double y) { cout″x=″x″\ty=″y″\t\tx+y=″x+yendl; } void sub(double x,double y) { cout″x=″x″\ty=″y″\t\tx-y=″x-yendl; } void mul(double x,double y) { cout″x=″x″\ty=″y″\t\tx*y=″x*yendl; } void div(double x,double y) { cout″x=″x″\ty=″y″\t\tx/y=″x/yendl; } (续) 请输入两个操作数: 3 4 请输入运算符: / x=3 y=4 x/y=0.75 可以声明具有特定返回类型和特定参数类型的函数指针数组。

文档评论(0)

1亿VIP精品文档

相关文档