0
点赞
收藏
分享

微信扫一扫

QT关于回调函数


.h文件

#ifndef CALLBACK_H
#define CALLBACK_H

typedef void (* Callback )( void *n_obj, void *user_data );//callback

struct Timer
{
void *user_data;
void *user_obj;
Callback n_cb;
};
class callbacks
{
public:
callbacks();
void add(Callback,void *,void*);
void action();
private:
Timer a;
};

#endif // CALLBACK_H


.cpp文件
#include "callback.h"

callbacks::callbacks()
{



}

void callbacks::add(Callback p, void * par1, void *par2)
{


a.user_data=par1;a.user_obj=par2;a.n_cb=p;
}


void callbacks::action()
{


(*a.n_cb )(a.user_data, a.user_obj );
}

main.cpp文件

#include "callback.h"

void UserCallback( void *obj, void *pa )
{
printf(" UserCallback:: ( obj = 0x%x ) T_ID=%u\n");
}
int main(int argc, char *argv[])
{
callbacks w;
w.add(UserCallback,( void *)22,( void *)33);
w.action();




举报

相关推荐

0 条评论