当前位置: 编程技术>c/c++/嵌入式
C++普通函数指针与成员函数指针实例解析
来源: 互联网 发布时间:2014-10-27
本文导语: C++的函数指针(function pointer)是通过指向函数的指针间接调用函数。相信很多人对指向一般函数的函数指针使用的比较多,而对指向类成员函数的函数指针则比较陌生。本文即对C++普通函数指针与成员函数指针进行实例解析。...
C++的函数指针(function pointer)是通过指向函数的指针间接调用函数。相信很多人对指向一般函数的函数指针使用的比较多,而对指向类成员函数的函数指针则比较陌生。本文即对C++普通函数指针与成员函数指针进行实例解析。
一、普通函数指针
通常我们所说的函数指针指的是指向一般普通函数的指针。和其他指针一样,函数指针指向某种特定类型,所有被同一指针运用的函数必须具有相同的形参类型和返回类型。
int (*pf)(int, int); // 声明函数指针
这里,pf指向的函数类型是int (int, int),即函数的参数是两个int型,返回值也是int型。
注:*pf两端的括号必不可少,如果不写这对括号,则pf是一个返回值为int指针的函数。
#include
#include
using namespace std;
typedef int (*pFun)(int, int); // typedef一个类型
int add(int a, int b){
return a+b;
}
int mns(int a, int b){
return a-b;
}
string merge(const string& s1, const string& s2){
return s1+s2;
}
int main()
{
pFun pf1 = add;
cout