标签:blank oid cat turn mil tor typedef class about
我们首先复习一下"指向函数的指针"如何使用?
比较简单,不是吗?为什么*pfun需要用()扩起来呢?
因为*的运算符优先级比()低,如果不用()就成了*(pfun()).
指向类的成员函数的指针不过多了一个类的限定而已!
一个指向类A 成员函数的指针声明为:
void (A::*pmf)(char *, const char *);
声明的解释是:pmf是一个指向A成员函数的指针,返回无类型值,函数带有二个参数,参数的类型分别是char *和const char *。除了在星号前增加A::,与声明外部函数指针的方法一样。一种更加高明的方法是使用类型定义:例如,下面的语句定义了PMA是一个指向类A成成员函数的指针,函数返回无类型值,函数参数类型为char *和const char *:
typedef void(A::*PMA)(char *,const char *);
PMA pmf= &A::strcat;//pmf是 PMF类型(类A成员指针)的变量
下面请看关于指向类的成员函数的使用示例:
标签:blank oid cat turn mil tor typedef class about
原文地址:http://www.cnblogs.com/lidabo/p/6639363.html