#define def(id,contents) \
void foo##id() { cout << "foo: " #contents << endl; }
class Test
{
public:
def(1,1);
def(2,2);
def(3,3);
};
typedef void (Test::*ClassFunc)();
static const ClassFunc funcs[] = {&Test::foo1, &Test::foo2, &Test::foo3};
int main()
{
Test t;
ClassFunc func = funcs[0];
(t.*func)();
func = funcs[1];
(t.*func)();
func = funcs[2];
(t.*func)();
return 0;
}
c++类函数指针,记录一下
最新推荐文章于 2022-10-11 14:46:00 发布