array.h

来自「VC++开发的一个电话录音程序」· C头文件 代码 · 共 75 行

H
75
字号
#ifndef __ARRAY_H__
#define __ARRAY_H__

class	CObjectArray : public CObArray
{
public:
	CObjectArray() : CObArray() //子类 : 父类 , 变量初始化
	{
		InitializeCriticalSection( &m_CriticalSection );
	}
	
	virtual ~CObjectArray()
	{
		if ( m_bIsChannelArray )
		{
			CObject *pObj;
			
			while(GetSize())
			{
				pObj = GetAt(0);
				RemoveAt(0);
				if( pObj )
				{
					delete pObj;
				}
			}
			
			DeleteCriticalSection( &m_CriticalSection );
		}		
	}


	CObject *	GetAt(int nIndex);
	void		DeleteAll(void);
	
		
public:
	void		EnterCS(void){EnterCriticalSection( &m_CriticalSection );}
	void		LeaveCS(void){LeaveCriticalSection( &m_CriticalSection );}
	BOOL m_bIsChannelArray;
protected:
	CRITICAL_SECTION	m_CriticalSection;
};


inline 
CObject *	
CObjectArray::GetAt(int nIndex)
{
	//TRACE("DTVC: CObjectArray::GetAt()\n");
	if( (nIndex>=0) && (nIndex<GetSize()) )
		return CObArray::GetAt(nIndex);
	else
		return NULL;
}

inline void
CObjectArray::DeleteAll(void)
{
	CObject *pObj;
	
	while(GetSize())
	{
		pObj = GetAt(0);
		if( pObj )
		{
			delete pObj;
		}
		RemoveAt(0);
	}
}


#endif //__ARRAY_H__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?