类成员函数指针的使用,代码片段供参考

本文探讨了类成员函数指针的概念及其在C++中的应用,通过代码示例展示了如何将成员函数定义形式转化为指针,并通过对象调用实现灵活的功能调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

个人觉得类成员函数的指针只是一种匹配的形式。把一个类的成员函数的定义形式记取出来,然后交给某个类的对象去调用之。

代码片段:

class abc;

typedef void (abc::*FUNC)(void *, constchar *,constchar *);

struct option {

//void (abc::*func)(void *, const char *, const char *);

FUNC func;

};

class abc {

int i;

public:

abc()

{

i = 1024;

option o;

o.func = &abc::func;//注意这里的赋值形式

(this->*o.func)(NULL, NULL, NULL);//注意这里的调用形式

//FUNC f = o.func;

//(this->*f)(NULL, NULL, NULL);

}

void func(void *context, constchar *name,constchar *value)

{

printf("hello%d\n", i++);

}

};

int _tmain(int argc, _TCHAR* argv[])

{

abc abc_obj;

option o;

o.func = &abc::func;

(abc_obj.*o.func)(NULL, NULL, NULL);

FUNC f = o.func;

(abc_obj.*f)(NULL, NULL, NULL);

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值