假如我们有一个成员函数形如
int test(int, string);
那么我们可以定义类成员函数指针如下
typedef int (A::*TMemFunc)(int, string);
其中 A代表类名
这样我们就可以声明
TMemFunc a = &A::test;
调用如下
A b;
(b.*a)(123, "hello");
A* b;
(b->*a)(123, "hello");
本文详细介绍了如何使用typedef关键字定义类成员函数指针,并通过实例展示了如何声明和调用此类成员函数指针,对于理解C++中的函数指针概念具有较高的实用价值。
假如我们有一个成员函数形如
int test(int, string);
那么我们可以定义类成员函数指针如下
typedef int (A::*TMemFunc)(int, string);
其中 A代表类名
这样我们就可以声明
TMemFunc a = &A::test;
调用如下
A b;
(b.*a)(123, "hello");
A* b;
(b->*a)(123, "hello");
1742
1551

被折叠的 条评论
为什么被折叠?