Klasy te są zaimplementowane jako część obszernego tematu jakim są dynamiczne struktury danych. Wymienione w nagłówku klasy mają funkcje obsługi identyczne jak np. klasa CWordArray. Różnica tkwi w definiowaniu takich klas. Deklaracje klas wyprowadzaneych ze wzorców (templates) są sparametryzowane i tak:
a) CArraytemplate< class TYPE, class ARG_TYPE > class CArray : public CObject
Przykład deklaracji:
CArray<"int, int"> myArray;
lub
class CPerson : public CObject { . . . };
CArray<"CPerson, CPerson&"> myArray;
template< class BASE_CLASS, class TYPE
>
class CTypedPtrArray : public
BASE_CLASS
class CPerson : public CObject { . . . };
CTypedPtrArray<""CObArray, CPerson*""> myArray;