eventmsg.h
来自「无聊的时候编写的」· C头文件 代码 · 共 52 行
H
52 行
#pragma once
class EventArgs
{
public:
};
class FunHolder
{
public:
virtual ~FunHolder(){}
virtual bool operator()(const EventArgs& arg) = 0;
};
//!
template<class T>
class FreeFunction:public FunHolder
{
public:
FreeFunction(T* pFunc):m_lpFunc(pFunc)
{
}
virtual bool operator()(const EventArgs& arg)
{
(*m_lpFunc)(arg);
}
T* m_lpFunc;
};
template<class T>
class ClassFunction:public FunHolder
{
public:
typedef bool(T::*MemeberFunc)(const EventArgs&);
ClassFunction(T* pObj,MemeberFunc lpFunc):m_pObj(pObj),m_pFunc(lpFunc)
{
}
virtual bool operator()(const EventArgs& arg)
{
m_pObj->m_pFunc(arg);
}
T* m_pObj;
MemeberFunc m_pFunc;
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?