You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1010 B
C++
37 lines
1010 B
C++
//////////////////////////////////////////////////////////////////////////////
|
|
//文件: 指针绑定类
|
|
//主要功能:
|
|
//
|
|
//程序编写: 2011-11-15
|
|
//
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#pragma once
|
|
|
|
class AFX_EXT_CLASS CAttachBase
|
|
{
|
|
public:
|
|
CAttachBase(void) { m_pInputAttach = NULL; m_bAutoDelete = false; }
|
|
virtual ~CAttachBase(void) { }
|
|
|
|
//仅仅是指针指向,在类中并不进行删除,该函数必须调用*******************
|
|
//与体定位指针进行绑定,只有绑定后,才能正确读取数据
|
|
virtual bool AttachInput(void* pInput, bool bAutoDelete = false)
|
|
{
|
|
m_pInputAttach = pInput;
|
|
m_bAutoDelete = bAutoDelete;
|
|
return true;
|
|
}
|
|
|
|
void EnableAutoDelete(bool bAutoDelete) { m_bAutoDelete = bAutoDelete; }
|
|
bool IsAutoDelete() { return m_bAutoDelete; }
|
|
void* GetInput() { return m_pInputAttach; }
|
|
void Empty() { m_pInputAttach = NULL; } //直接清空指针,并不进行释放删除操作
|
|
|
|
protected:
|
|
//以下参数仅是指针指向,并不做释放操作
|
|
void* m_pInputAttach;
|
|
bool m_bAutoDelete;
|
|
};
|