首页 > 代码库 > 2016-12-14:通过static关键字,使用类成员函数作为回调函数
2016-12-14:通过static关键字,使用类成员函数作为回调函数
#include <iostream> using namespace std; class Callee { public: void PrintInfo(int i) { cout << "printf info " << i << endl; } static void OnCallback(Callee* callee, int i) { callee->PrintInfo(i); } }; typedef void(*CallbackFunctor)(Callee*, int); class Caller { public: void SetCallback(CallbackFunctor func, Callee *callee) { m_callBack = func; m_callee = callee; } void DoCallback(int i) { m_callBack(m_callee, i); } private: CallbackFunctor m_callBack; Callee *m_callee; }; int main() { Caller caller; Callee callee; caller.SetCallback(Callee::OnCallback, &callee); caller.DoCallback(10); Caller caller2; Callee callee2; caller2.SetCallback(Callee::OnCallback, &callee2); caller2.DoCallback(20); }
2016-12-14:通过static关键字,使用类成员函数作为回调函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。