c++如何实现事件机制

avatar
作者
猴君
阅读量:0

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

  1. 回调函数:定义一个事件类,该事件类包含一个回调函数指针。当事件发生时,调用回调函数来处理事件。示例代码如下:
#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; } 
  1. 观察者模式:定义一个主题类(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; } 

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!