在C++中实现事件机制通常需要使用回调函数或观察者模式
在C++中实现事件机制通常需要使用回调函数或观察者模式。下面是一种简单的实现方法:
- 回调函数:定义一个事件类,该事件类包含一个回调函数指针。当事件发生时,调用回调函数来处理事件。示例代码如下:
#include<iostream>
#include<functional>
classEvent{
public:
usingCallback=std::function<void()>;
Event(Callbackcallback):m_callback(callback){}
voidtrigger(){
if(m_callback){
m_callback();
}
}
private:
Callbackm_callback;
};
voidhandleEvent(){
std::cout<<"Eventhandled"<<std::endl;
}
intmain(){
Eventevent(handleEvent);
event.trigger();
return0;
}
#include<iostream>
#include<vector>
classObserver{
public:
virtualvoidupdate()=0;
};
classSubject{
public:
voidaddObserver(Observer*observer){
m_observers.push_back(observer);
}
voidnotifyObservers(){
for(Observer*observer:m_observers){
observer->update();
}
}
private:
std::vector<Observer*>m_observers;
};
classEventObserver:publicObserver{
public:
voidupdate()override{
std::cout<<"Eventhandled"<<std::endl;
}
};
intmain(){
Subjectsubject;
EventObservereventObserver;
subject.addObserver(&eventObserver);
subject.notifyObservers();
return0;
}
以上是两种简单的事件机制实现方法,实际开发中可以根据需求选择合适的方法来实现事件机制。
版权声明
本文仅代表作者观点,不代表博信信息网立场。