delegatetest.cpp
来自「这是本人在工作中积累的VC++类库」· C++ 代码 · 共 77 行
CPP
77 行
// delegateTest.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <string>
#include <conio.h>
#include <Delegate.h>
using namespace moxu;
using namespace std;
class Sdk
{
private:
Delegate2<void, int, string>* m_event;
public:
Sdk()
{
m_event = NULL;
}
~Sdk()
{
if(m_event != NULL)
delete m_event;
}
void SetEvent(Delegate2<void, int, string>* event)
{
m_event = event;
}
bool Open()
{
//do something
(*m_event)(10, "Opened");
return true;
}
};
class Client
{
private:
Sdk m_sdk;
public:
Client()
{
m_sdk.SetEvent(MakeDelegate(this, OnOpen));
}
bool Open()
{
return m_sdk.Open();
}
private:
void OnOpen(int a, string msg)
{
cout<<"Open Event: a="<<a<<" msg="<<msg<<endl;
};
};
int main()
{
Client c;
c.Open();
getch();
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?