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++

//////////////////////////////////////////////////////////////////////////////
//文件: 指针绑定类
//主要功能:
//
//程序编写: 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;
};