sigslot库的使用2

再来看一个例子

 

#include <stdlib.h>
#include <iostream>
#include <string>
#include "sigslot.h"

 

using namespace std;
using namespace g::stl;

 

static int i = 0;

 

struct Item
{  
     //signal10 实质就是在构造和析构的时候调用之
    Signal0 sig;

    Item()
    {
        i = 1;
        cout<<"init item"<<endl;
        cout<<"i is: "<<i<<endl;
    }
 
    void Check()
    {  
        sig.emit();
        cout<<"call me. "<<i++<<endl;
    }

  

     ~Item()
    {
        cout<<"exit item .."<<endl;
        cout<<"i is: "<<i<<endl;
    }
};

 

struct Window : public SlotHolder
{
    void Get() 
    {
      
    }
};

 

int main()
{
    Item item;
    Window window;
   
    item.sig.connect(&window, &Window::Get);
    item.Check();
    item.sig.disconnect(&window);
    item.Check();
 
    _sleep(3456);
   

    return 0;
}

你可能感兴趣的:(struct,Signal)