C++回调函数模式的使用.
[user:lib_hdmanage] cat example/test2.cpp
/// @file test2.cpp
/// @brief
/// @author Easton Woo
/// 0.01
/// @date 2013-06-28
// 回调函数例子模式
//
// 接口类
class CInterface
{
public:
virtual void print() = 0;
};
// 资源库
class CSource
{
public:
CInterface * m_pInterface;
void init(CInterface* hwnd)
{
m_pInterface = hwnd;
}
void Start()
{
// 回调上层App函数
m_pInterface->print();
}
};
// 最上层App
class CView : public CInterface
{
public:
CView(){};
virtual ~CView()
{
if(m_pSource)
{
delete m_pSource;
m_pSource = NULL;
}
}
virtual void print()
{
printf("CView \n");
}
void work();
CSource* m_pSource;
};
void CView::work()
{
// 调用资源库
m_pSource = new CSource;
m_pSource->init(this);
m_pSource->Start();
}
int main(int argc, char const* argv[])
{
CView* pView = new CView;
pView->work();
delete pView;
pView = NULL;
return 0;
}