C++ 回调函数的简单例子
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wnlwcg/article/details/6930990
收起
调用端
//下面的这个_stdcall很重要的 void _stdcall Test(int n, string str) //如果不定义全局变量,而定义在类中 则必须是 静态成员函数 { while(n-->0) cout<<n<<" "<<str<<endl; } int main(int argc, char* argv[]) { Call call; call.SetFun((MyFun)Test); //调回调函数的接口,并传入一个函数作为参数 call.LetRun(10,"hello"); printf("Hello World!\n"); return 0; }
被调用端
typedef void (_stdcall *MyFun)(int n, string str); class Call { private: MyFun myFun; public: void SetFun(MyFun _myFun) { myFun = _myFun; } void LetRun(int n, string str) { myFun(n, str); } };
回调过程:调用回调接口【SetFun】 并设置一回调接受函数【Test】 -----> 保存 被调用端传来的 参数 【myFun】-----> 等待.....----->
LetRun ----->myFun------>回调到Test
————————————————
版权声明:本文为CSDN博主「wnlwcg」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wnlwcg/article/details/6930990