关于SIGSLOT的一个简单的程序

废话少说直接看代码即可,这只是一个简单的程序,可以帮我们简单地明白SIGSLOT是怎么回事.至于深入研究自己去百度吧.

#include "sigslot.h"

using namespace std;

struct Clock

{

 sigslot::signal1<int> Tick;//闹钟响起

 void SendMsg(int nTime)

 {

  Tick(nTime);

 }

};

/*******************************************************/

struct Student : public sigslot::has_slots<>

{

 void GetUp(int nTime)//对闹钟响起事件的处理 和Tick的参数一一对应

 {

  std::cout << "起床时间 : " <<nTime<< std::endl;

 }

};

/*******************************************************/

int _tmain(int argc, _TCHAR* argv[])

{

 Clock   AlarmClock;

 Student MidSchoolStu;

 AlarmClock.Tick.connect(&MidSchoolStu, &Student::GetUp);

 for(int i=0;i<10;i++)

 {

  AlarmClock.SendMsg((int)time(NULL));

  Sleep(1000);

 }

 AlarmClock.Tick.disconnect(&MidSchoolStu);

 return 0;

}

你可能感兴趣的:(程序)