c++回调函数放在类内
时间: 2023-10-18 16:31:05 浏览: 119
如何用指向函数的指针变量调用函数?-C++程序设计(谭浩强完整版)
回调函数是一种通过函数指针来实现的机制,允许将函数作为参数传递给其他函数,并在需要的时候执行这个函数。在C++中,回调函数可以在类内或类外定义。
引用提供了一个在类内定义回调函数的示例代码。在代码中,类A中定义了一个成员函数call_back作为回调函数,并在成员函数test中将该回调函数注册到类B的对象b中。回调函数通过将类A的this指针传递给对象b,实现对类A成员变量的访问。
引用提供了一个在类外定义回调函数的示例代码。在代码中,类A中定义了一个成员变量p_call_back,用于存储回调函数的地址。在成员函数test中,回调函数call_back被注册到类A的对象a中,并在执行回调函数时将对象指针传递给回调函数,实现对类A成员变量的访问。
总结来说,回调函数可以放在类内或类外定义。在类内定义回调函数时,可以通过this指针访问类的成员变量。而在类外定义回调函数时,需要将对象指针作为参数传递给回调函数,以实现对类的成员变量的访问。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [C++成员函数当作回调函数同时传递this指针](https://blog.csdn.net/weixin_45416828/article/details/124074506)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [c++中回调函数(函数指针)](https://blog.csdn.net/qq_42518941/article/details/111998136)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文