標題: 請問 c++ callback function問題 [打印本頁] 作者: dhhuang618 時間: 2020-4-4 05:50 PM 標題: 請問 c++ callback function問題
各位大大,
小弟有個 C++問題
請問大家要如何用 c++的 class作出 callback function ?
謝謝各位 作者: baepi 時間: 2020-4-7 12:12 PM
callback function ?
真抱歉我不是資工資管畢業的...所以按照我以為的以為來給予答案...倘若不是你期望的答案....那就只好再請其他高人解答了
一般來說...對於涵式呼叫涵式的做法(以上這句腦殘的翻譯是我自我的理解)...我常用的有以下兩種...我都塞到同一個class裡面了....
void QQ::test_2(void(*_void_point)() , int(*_int_int_point)(int _int) , int _int)
{
if (_int_int_point != NULL)
{
cout << _int_int_point(_int) << endl;;
}
if (_void_point != NULL)
{
_void_point();
}
}
void aa()
{
cout << "A" << endl;
}
int cc(int c)
{
cout << c << endl;
return c + 1;
}
void main()
{
QQ q1;
q1._int_int_fun = cc;
q1._void_fun = aa;
q1.test_1();
q1.test_2(aa , cc , 2);
system("pause");
}
複製代碼
作者: kiwis 時間: 2020-4-7 10:27 PM
本帖最後由 kiwis 於 2020-4-7 10:54 PM 編輯
>如何用 c++的 class作出 callback function ?
你是指把 C++ 的 class 拿來當成 callback function 用嗎?
有是有啦,不過個人覺得蠻鳥的,就是用[使用者定義轉換運算子]這招,
告訴編譯器這個 class 是個 callback function就行了。