c++事件驱动编程

作者: admin
标签: 程序设计
更新: 8/8/2019, 10:23:04 PM
#include <cstring>
#include <cstdio>
#define size 10
struct Event{
    void (*events[size])() ={NULL};//回调函数数组
    char str[size][100];
    int top = 0;
    void callback(char *s, void (*func)()){
        events[top] = func;
        strcpy(str[top],s);
        top++;
    }
    void handle(){
        for(int i=0; i<top;i++){
            events[i]();
            printf("%s\n", str[i]);
        }
    }
};
void print(){
    printf("hello\n" );
}


int main(){
    Event event;
    event.callback("test",print);//添加回调
    event.handle();              //执行回调
    return 0;
}
删除
修改
点击登陆评论