C++函数指针&类成员函数指针入门教程和应用示例

分类:知识百科 日期: 点击:0

C++函数指针是一种特殊的指针,它指向一个函数而不是一个变量。它可以用来在不同的函数之间传递指针,以便在运行时调用函数。类成员函数指针是指向类成员函数的指针,它允许你在运行时调用类成员函数。

函数指针的定义

要定义一个函数指针,需要声明一个函数指针变量,其格式如下:

typedef 返回类型 (* 函数指针变量名) (参数类型列表);

其中,返回类型是函数的返回类型,函数指针变量名是指针变量的名称,参数类型列表是函数参数的类型列表。例如,要定义一个指向函数f(int, int)的指针变量p,可以使用以下声明:

typedef int (*p) (int, int);

函数指针的使用

要使用函数指针,需要先定义一个函数指针变量,将其赋值为指向函数的指针。例如,要使用指针p,可以使用以下语句:

p = f;

还可以使用函数指针来调用函数,例如:

int result = p(1, 2);

类成员函数指针的定义

类成员函数指针的定义格式如下:

typedef 返回类型 (类名::* 成员函数指针变量名) (参数类型列表);

其中,返回类型是函数的返回类型,类名是类的名称,成员函数指针变量名是指针变量的名称,参数类型列表是函数参数的类型列表。例如,要定义一个指向类C中的成员函数f(int, int)的指针变量p,可以使用以下声明:

typedef int (C::*p) (int, int);

类成员函数指针的使用

要使用类成员函数指针,需要先定义一个类成员函数指针变量,将其赋值为指向类成员函数的指针。例如,要使用指针p,可以使用以下语句:

p = &C::f;

还可以使用类成员函数指针来调用类成员函数,例如:

C c;
int result = (c.*p)(1, 2);
标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。