C++类中写回调函数简例

来源:互联网 发布:软件随想录 pdf 编辑:程序博客网 时间:2024/05/17 05:14

/*C++类函数做回调函数*/
/*这里只做一个演示*/
#include
#include
class CFun_CallBack
{
static DWORD WINAPI cbfun(void * p);
public:
CFun_CallBack();
~CFun_CallBack();
private:
int a;//
};
DWORD WINAPI CFun_CallBack::cbfun(void* p)
{
//int a这样写是错误的,静态函数不能访问非静态成员
if (p==NULL) return 0;
((CFun_CallBack *)p)->a=100;
printf("静态函数调用非静态成员:%d\n", ((CFun_CallBack *)p)->a);
printf("线程开始运行\n");
return 0;
}
CFun_CallBack::CFun_CallBack()
{
HANDLE handle= CreateThread(NULL,0,cbfun,this,0,NULL);
CloseHandle(handle);
}
CFun_CallBack::~CFun_CallBack()
{
}
int main(char*)
{
CFun_CallBack mycb;
Sleep(10);//waiting
return 0;
}

转自:http://www.thirty.name/cpp-class-callback-function/
原创粉丝点击