

Программирование на языке MFC
Мой второй блог в серии программирования
Класс для работы с массивом указателей на объекты
Итак, в файле afxcoll.h класс для работы с массивом указателей на объекты описан следующим образом:
class СОЬАггау : public CObject {
DECLARE_SERIAL(СОЬАггау) public:
// Construction СОЬАггау() ;
// Attributes
int GetSize() const;
int GetUpperBound() const;
void SetSize(int nNewSize, int nGrowBy = -1);
// Operations // Clean up void FreeExtraO; void RemoveAll();
// Accessing elements
CObject* GetAt(in-t nlndex) const;
void SetAt(int nlndex, CObject* newElement);
CObject*& ElementAt(int nlndex);
// Direct Access to the element data (may return NULL) const CObject** GetDataO const; CObject** GetDataO;
// Potentially growing the array
void SetAtGrow(int nlndex, CObject* newElement);
int Add(CObject* newElement);
int Append(const CObArray& src); void Copy(const CObArrayS src);
// overloaded operator helpers CObject* operator [] (int nlndex) const!1; CObject*& operator[](int nlndex);
// Operations that move elements around void InsertAt(int nlndex,
CObject* newElement,
int nCount = 1);
void RemoveAt(int nlndex, int nCount = 1);
void InsertAt(int nStartlndex, CObArray* pNewArray);
// Implementation protected:
CObject** m_pData; // the actual array of data
int m_nSize; // # of elements (upperBound – 1)
int m_nMaxSize; // max allocated int m_nGrowBy; // grow amount
public:
-CObArray();
void Serialize(CArchiveS); #ifdef _DEBUG
void Dump(CDumpContextS) const;
void AssertValid() const; #endif
protected:
// local typedefs for class templates typedef CObject* BASE_TYPE; typedef CObject* BASE_ARG_TYPE;
};
Похожие статьи: Load
