废话少说直接看代码即可,这只是一个简单的程序,可以帮我们简单地明白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; }