当前位置:首页 >  科技综合

c++回调类成员函数

时间:2024-09-20 07:00:19

科技综合

导读:将类成员函数用做C回调函数 解决方案: 一,不使用成员函数,直接使用 普通C函数 ,为了实现在C函数中可以访问类的成员变量,可以使用友元操作符(friend),在C++......

成员函数用做C函数

解决方案:

一,不使用成员函数,直接使用 普通C函数 ,为了实现在C函数中可以访问类的成员变量,可以使用友元操作符(friend),在C++中将该C函数说明为 类的 友元 即可。这种处理机制与普通的C编程中使用回调函数一样。

二,使用 静态成员函数 ,静态成员函数不使用this指针作为隐含参数,这样就可以作为回调函数了。静态成员函数具有两大特点:其一,可以在没有类实例的情况下使用;其二,只能访问静态成员变量和静态成员函数,不能访问非静态成员变量和非静态成员函数。由于在C++中使用类成员函数作为回调函数的目的就是为了访问所有的成员变量和成员函数,如果作不到这一点将不具有实际意义。我们通过使用静态成员函数对非静态成员函数 包装 的办法来解决问题。类实例可以通过 附加参数 或 全局变量 的方式的方式传递到静态成员函数中。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
联系我们 关于我们 版权申请

观察网 广州东远堂信息科技有限公司 版权所有 粤ICP备15011623号