亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

C++成員函數指針如何實現回調

c++
小樊
86
2024-06-20 00:46:06
欄目: 編程語言

要實現回調功能,可以使用C++類的成員函數指針作為回調函數的參數,然后在需要執行回調的地方調用該函數指針。

首先定義一個類,其中包含一個成員函數指針作為回調函數:

class Callback {
public:
    typedef void (Callback::*CallbackFunction)();
    CallbackFunction callbackFunction;

    Callback() : callbackFunction(nullptr) {}

    void setCallback(CallbackFunction func) {
        callbackFunction = func;
    }

    void executeCallback() {
        if (callbackFunction) {
            (this->*callbackFunction)();
        }
    }

    void callbackHandler() {
        std::cout << "Callback function is called" << std::endl;
    }
};

然后定義一個函數,接受一個Callback類的實例作為參數,并調用其成員函數指針:

void triggerCallback(Callback& callback) {
    callback.executeCallback();
}

接著創建一個Callback的實例,并設置其成員函數指針為回調函數:

Callback callback;
callback.setCallback(&Callback::callbackHandler);

最后調用觸發回調的函數:

triggerCallback(callback);

這樣就實現了C++成員函數指針的回調功能。在實際應用中,可以用類似方式將回調函數傳遞給其他類或庫,并在特定事件發生時觸發回調。

0
涪陵区| 淄博市| 富民县| 保德县| 鹤山市| 绥德县| 哈巴河县| 马尔康县| 清新县| 兴隆县| 洛扎县| 桐城市| 濉溪县| 大竹县| 黑河市| 汝城县| 吉木萨尔县| 丰宁| 孝感市| 攀枝花市| 宜州市| 宕昌县| 安康市| 米脂县| 礼泉县| 尼木县| 都江堰市| 潮州市| 丰城市| 宝山区| 朝阳市| 镇原县| 孝感市| 印江| 电白县| 大安市| 锦州市| 乐山市| 共和县| 甘南县| 湖口县|