c++如何实现事件机制

   2024-11-02 8330
核心提示:在C++中实现事件机制通常需要使用回调函数或观察者模式。下面是一种简单的实现方法:回调函数:定义一个事件类,该事件类包含一

在C++中实现事件机制通常需要使用回调函数或观察者模式。下面是一种简单的实现方法:

回调函数:定义一个事件类,该事件类包含一个回调函数指针。当事件发生时,调用回调函数来处理事件。示例代码如下:
#include <iostream>#include <functional>class Event {public:    using Callback = std::function<void()>;    Event(Callback callback) : m_callback(callback) {}    void trigger() {        if (m_callback) {            m_callback();        }    }private:    Callback m_callback;};void handleEvent() {    std::cout << "Event handled" << std::endl;}int main() {    Event event(handleEvent);    event.trigger();    return 0;}
观察者模式:定义一个主题类(Subject)和观察者类(Observer),主题类包含注册观察者和通知观察者的方法。示例代码如下:
#include <iostream>#include <vector>class Observer {public:    virtual void update() = 0;};class Subject {public:    void addObserver(Observer* observer) {        m_observers.push_back(observer);    }    void notifyObservers() {        for (Observer* observer : m_observers) {            observer->update();        }    }private:    std::vector<Observer*> m_observers;};class EventObserver : public Observer {public:    void update() override {        std::cout << "Event handled" << std::endl;    }};int main() {    Subject subject;    EventObserver eventObserver;    subject.addObserver(&eventObserver);    subject.notifyObservers();    return 0;}

以上是两种简单的事件机制实现方法,实际开发中可以根据需求选择合适的方法来实现事件机制。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号