C++之函数指针

扫码查看

函数指针常用的有三类

1、指向普通函数的函数指针

2、指向类中静态成员函数的函数指针

3、指向类的成员函数的函数指针

一、指向普通函数的函数指针

#include <iostream>
using namespace std; void Show()
{
cout<<"Show()"<<endl;
}
typedef void(*pFun)(); //定义函数指针类型
int main()
{
pFun p = &Show;
(*p)();
return ;
}

二、指向类中静态成员函数的函数指针
指向类中静态成员函数的函数指针的声明形式:

#include <iostream>
using namespace std; class CPeople
{
public:
int num;
public:
CPeople()
{
num = ;
}
static void Show()
{
cout<<"static void Show()"<<endl;
}
void ShowShow()
{
cout << "ShowShow()" << num << endl;
}
}; typedef void (*PFUN)(); // 普通的函数指针
typedef void (CPeople::*PFUN_A)(); // 成员函数指针 // ::* .* ->* 都是编译器提供的新的操作符 支持成员函数指针的操作 int main()
{
//PFUN fun = &CPeople::Show; // 普通的函数指针 要指向类的函数 那么这个函数一定要static PFUN_A fun_a; // 成员函数指针的赋值
fun_a = &CPeople::ShowShow; CPeople pep;
(pep.*fun_a)(); // 成员函数指针的调用 CPeople* p = new CPeople;
(p->*fun_a)(); system("pause");
return ;
}
05-07 15:33
查看更多