Aracılığıyla paylaş


CMapStringToOb Sınıf

Benzersiz CString nesneleri CObject işaretçilerle eşleyen bir sözlük koleksiyonu sınıfı.

Sözdizimi

class CMapStringToOb : public CObject

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CMapStringToOb::CMapStringToOb Oluşturucu.

Genel Yöntemler

Veri Akışı Adı Açıklama
CMapStringToOb::GetCount Bu haritadaki öğe sayısını döndürür.
CMapStringToOb::GetHashTableSize Karma tablodaki geçerli öğe sayısını belirler.
CMapStringToOb::GetNextAssoc Yineleme için sonraki öğeyi alır.
CMapStringToOb::GetSize Bu haritadaki öğe sayısını döndürür.
CMapStringToOb::GetStartPosition İlk öğenin konumunu döndürür.
CMapStringToOb::HashKey Belirtilen anahtarın karma değerini hesaplar.
CMapStringToOb::InitHashTable Karma tabloyu başlatır.
CMapStringToOb::IsEmpty Boş eşleme koşulu (öğe yok) için testler.
CMapStringToOb::Lookup Void işaretçisi tuşuna göre bir void işaretçisi arar. İşaretçi değeri, işaret edilen varlık değil, anahtar karşılaştırması için kullanılır.
CMapStringToOb::LookupKey Belirtilen anahtar değeriyle ilişkili anahtara başvuru döndürür.
CMapStringToOb::RemoveAll Bu haritadan tüm öğeleri kaldırır.
CMapStringToOb::RemoveKey Bir anahtar tarafından belirtilen bir öğeyi kaldırır.
CMapStringToOb::SetAt Eşlem içine bir öğe ekler; eşleşen bir anahtar bulunursa mevcut bir öğeyi değiştirir.

Ortak İşleçler

Veri Akışı Adı Açıklama
CMapStringToOb::operator [ ] Eşlemeye bir öğe ekler— için SetAtişleç değişimi.

Açıklamalar

Eşleme bir CString- CObject* çift (öğe) ekledikten sonra, bir dize veya anahtar olarak bir CString değer kullanarak çifti verimli bir şekilde alabilir veya silebilirsiniz. Ayrıca haritadaki tüm öğeleri yineleyebilirsiniz.

Türündeki POSITION bir değişken, tüm eşleme varyasyonlarında alternatif giriş erişimi için kullanılır. Bir girdiyi "hatırlamak" ve haritada yinelemek için kullanabilirsiniz POSITION . Bu yinelemenin anahtar değerine göre sıralı olduğunu düşünebilirsiniz; Hayır, değil. Alınan öğelerin dizisi belirsiz.

CMapStringToOb öğelerinin seri hale getirilmesini IMPLEMENT_SERIAL ve dökümünün atılması için makroyu birleştirir. Eşlem bir arşive depolandığında, aşırı yüklenmiş ekleme ( <<) işleciyle veya üye işleviyle Serialize her öğe sırayla seri hale getirilir.

Eşlemedeki tek tek öğelerin ( CString değer ve CObject içerik) tanılama dökümü gerekiyorsa, döküm bağlamının derinliğini 1 veya daha büyük olarak ayarlamanız gerekir.

Bir CMapStringToOb nesne silindiğinde veya öğeleri kaldırıldığında, CString nesneler ve CObject işaretçiler kaldırılır. İşaretçiler tarafından başvuruda bulunan CObject nesneler yok edilmez.

Eşleme sınıfı türetmesi, liste türetmeye benzer. Özel amaçlı liste sınıfının türetilmesine ilişkin bir çizim için Koleksiyonlar makalesine bakın.

Devralma Hiyerarşisi

CObject

CMapStringToOb

Gereksinimler

Üstbilgi: afxcoll.h

CMapStringToOb::CMapStringToOb

Boş CStringbir -to- CObject* eşlemesi oluşturur.

CMapStringToOb(INT_PTR nBlockSize = 10);

Parametreler

nBlockSize
Eşlemeyi genişletmek için bellek ayırma ayrıntı düzeyini belirtir.

Açıklamalar

Harita büyüdükçe bellek girdi birimlerinde nBlockSize ayrılır.

Aşağıdaki tabloda, benzeri CMapStringToOb:: CMapStringToObdiğer üye işlevleri gösterilmektedir.

Sınıf Üye İşlevi
CMapPtrToPtr CMapPtrToPtr( INT_PTR nBlockSize = 10 );
CMapPtrToWord CMapPtrToWord( INT_PTR nBlockSize = 10 );
CMapStringToPtr CMapStringToPtr( INT_PTR nBlockSize = 10 );
CMapStringToString CMapStringToString( INT_PTR nBlockSize = 10 );
CMapWordToOb CMapWordToOb( INT_PTR nBlockSize = 10 );
CMapWordToPtr MapWordToPtr( INT_PTR nBlockSize = 10 );

Örnek

CMapStringToOb map(20); // Map on the stack with blocksize of 20

CMapStringToOb *pm = new CMapStringToOb; // Map on the heap
                                         // with default blocksize

Tüm koleksiyon örneklerinde kullanılan sınıfın CAge listesi için bkzCObList::CObList.

CMapStringToOb::GetCount

Haritada kaç öğe olduğunu belirler.

INT_PTR GetCount() const;

Dönüş Değeri

Bu haritadaki öğelerin sayısı.

Açıklamalar

Aşağıdaki tabloda, benzeri CMapStringToOb::GetCountdiğer üye işlevleri gösterilmektedir.

Sınıf Üye İşlevi
CMapPtrToPtr INT_PTR GetCount() const;
CMapPtrToWord INT_PTR GetCount() const;
CMapStringToPtr INT_PTR GetCount() const;
CMapStringToString INT_PTR GetCount() const;
CMapWordToOb INT_PTR GetCount() const;
CMapWordToPtr INT_PTR GetCount() const;

Örnek

Tüm koleksiyon örneklerinde kullanılan sınıfın CAge listesi için bkzCObList::CObList.

CMapStringToOb map;

map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Homer"), new CAge(36));
ASSERT(map.GetCount() == 2);

CMapStringToOb::GetHashTableSize

Karma tablodaki geçerli öğe sayısını belirler.

UINT GetHashTableSize() const;

Dönüş Değeri

Karma tablodaki öğe sayısını döndürür.

Açıklamalar

Aşağıdaki tabloda, benzeri CMapStringToOb::GetHashTableSizediğer üye işlevleri gösterilmektedir.

Sınıf Üye İşlevi
CMapPtrToPtr UINT GetHashTableSize() const;
CMapPtrToWord UINT GetHashTableSize() const;
CMapStringToPtr UINT GetHashTableSize() const;
CMapStringToString UINT GetHashTableSize() const;
CMapWordToOb UINT GetHashTableSize() const;
CMapWordToPtr UINT GetHashTableSize() const;

CMapStringToOb::GetNextAssoc

konumundaki eşleme öğesini rNextPositionalır, ardından eşlemedeki bir sonraki öğeye başvurmak için güncelleştirilir rNextPosition .

void GetNextAssoc(
    POSITION& rNextPosition,
    CString& rKey,
    CObject*& rValue) const;

Parametreler

rNextPosition
Önceki GetNextAssoc veya GetStartPosition çağrı tarafından döndürülen POSITION değerine başvuru belirtir.

rKey
Alınan öğenin (dize) döndürülen anahtarını belirtir.

rValue
Alınan öğenin (işaretçi CObject ) döndürülen değerini belirtir. Bu parametre hakkında daha fazla bilgi için bkz . Açıklamalar .

Açıklamalar

Bu işlev en çok haritadaki tüm öğeler arasında yineleme yapmak için kullanışlıdır. Konum dizisinin anahtar değer dizisiyle aynı olması gerekmediğini unutmayın.

Alınan öğe eşlemenin son öğesiyse, yeni değeri rNextPosition olarak NULLayarlanır.

parametresi için rValue , aşağıdaki örnekte gösterildiği gibi, derleyicinin gerektirdiği nesne türünü CObject*&olarak atamayı unutmayın:

CObject *ob;
map.GetNextAssoc(pos, key, (CObject *&)ob);

Bu, şablonlara dayalı haritalar için geçerli GetNextAssoc değildir.

Aşağıdaki tabloda, benzeri CMapStringToOb::GetNextAssocdiğer üye işlevleri gösterilmektedir.

Sınıf Üye İşlevi
CMapPtrToPtr void GetNextAssoc( POSITION& rNextPosition , void*& rKey , void*& rValue ) const;
CMapPtrToWord void GetNextAssoc( POSITION& rNextPosition , void*& rKey , WORD& rValue ) const;
CMapStringToPtr void GetNextAssoc( POSITION& rNextPosition , CString& rKey , void*& rValue ) const;
CMapStringToString void GetNextAssoc( POSITION& rNextPosition , CString& rKey , CString& rValue ) const;
CMapWordToOb void GetNextAssoc( POSITION& rNextPosition , WORD& rKey , CObject*& rValue ) const;
CMapWordToPtr void GetNextAssoc( POSITION& rNextPosition , WORD& rKey , void*& rValue ) const;

Örnek

Tüm koleksiyon örneklerinde kullanılan sınıfın CAge listesi için bkzCObList::CObList.

CMapStringToOb map;
POSITION pos;
CString key;
CAge *pa;

map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Lisa"), new CAge(11));
map.SetAt(_T("Homer"), new CAge(36));
map.SetAt(_T("Marge"), new CAge(35));
// Iterate through the entire map, dumping both name and age.
for (pos = map.GetStartPosition(); pos != NULL;)
{
   map.GetNextAssoc(pos, key, (CObject *&)pa);
#ifdef _DEBUG
   afxDump << key << _T(" : ") << pa << _T("\n");
#endif
}

Bu programın sonuçları aşağıdaki gibidir:

Lisa : a CAge at $4724 11
Marge : a CAge at $47A8 35
Homer : a CAge at $4766 36
Bart : a CAge at $45D4 13

CMapStringToOb::GetSize

Eşleme öğelerinin sayısını döndürür.

INT_PTR GetSize() const;

Dönüş Değeri

Haritadaki öğelerin sayısı.

Açıklamalar

Eşlemedeki öğe sayısını almak için bu yöntemi çağırın.

Aşağıdaki tabloda, benzeri CMapStringToOb::GetSizediğer üye işlevleri gösterilmektedir.

Sınıf Üye İşlevi
CMapPtrToPtr INT_PTR GetSize() const;
CMapPtrToWord INT_PTR GetSize() const;
CMapStringToPtr INT_PTR GetSize() const;
CMapStringToString INT_PTR GetSize() const;
CMapWordToOb INT_PTR GetSize() const;
CMapWordToPtr INT_PTR GetSize() const;

Örnek

CMapStringToOb map;

map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Homer"), new CAge(36));
ASSERT(map.GetSize() == 2);

CMapStringToOb::GetStartPosition

Bir çağrıya geçirilebilen bir POSITION değer döndürerek bir GetNextAssoc eşleme yinelemesi başlatır.

POSITION GetStartPosition() const;

Dönüş Değeri

POSITION Eşlemeyi yinelemek için başlangıç konumunu veya NULL haritanın boş olup olmadığını gösteren değer.

Açıklamalar

Yineleme dizisi tahmin edilebilir değildir; bu nedenle, "haritadaki ilk öğe" özel bir öneme sahip değildir.

Aşağıdaki tabloda, benzeri CMapStringToOb::GetStartPositiondiğer üye işlevleri gösterilmektedir.

Sınıf Üye İşlevi
CMapPtrToPtr POSITION GetStartPosition() const;
CMapPtrToWord POSITION GetStartPosition() const;
CMapStringToPtr POSITION GetStartPosition() const;
CMapStringToString POSITION GetStartPosition() const;
CMapWordToOb POSITION GetStartPosition() const;
CMapWordToPtr POSITION GetStartPosition() const;

Örnek

örneğine CMapStringToOb::GetNextAssocbakın.

CMapStringToOb::HashKey

Belirtilen anahtarın karma değerini hesaplar.

UINT HashKey(LPCTSTR key) const;

Parametreler

key
Karma değeri hesaplanacak anahtar.

Dönüş Değeri

Anahtarın karma değeri

Açıklamalar

Aşağıdaki tabloda, benzeri CMapStringToOb::HashKeydiğer üye işlevleri gösterilmektedir.

Sınıf Üye İşlevi
CMapPtrToPtr UINT HashKey( void *key ) const;
CMapPtrToWord UINT HashKey( void *key ) const;
CMapStringToString UINT HashKey( LPCTSTR key ) const;
CMapStringToPtr UINT HashKey( LPCTSTR key ) const;
CMapWordToOb UINT HashKey( WORD key ) const;
CMapWordToPtr UINT HashKey( WORD key ) const;

CMapStringToOb::InitHashTable

Karma tabloyu başlatır.

void InitHashTable(
    UINT hashSize,
    BOOL bAllocNow = TRUE);

Parametreler

hashSize
Karma tablodaki girdilerin sayısı.

bAllocNow
ise TRUE, başlatma sırasında karma tabloyu ayırır; aksi takdirde tablo gerektiğinde ayrılır.

Açıklamalar

En iyi performans için karma tablo boyutu bir asal sayı olmalıdır. Çakışmaları en aza indirmek için boyut, beklenen en büyük veri kümesinden yaklaşık yüzde 20 daha büyük olmalıdır.

Aşağıdaki tabloda, benzeri CMapStringToOb::InitHashTablediğer üye işlevleri gösterilmektedir.

Sınıf Üye İşlevi
CMapPtrToPtr void InitHashTable( UINT hashSize , BOOL bAllocNow = TRUE );
CMapPtrToWord void InitHashTable( UINT hashSize , BOOL bAllocNow = TRUE );
CMapStringToString void InitHashTable( UINT hashSize , BOOL bAllocNow = TRUE );
CMapStringToPtr void InitHashTable( UINT hashSize , BOOL bAllocNow = TRUE );
CMapWordToOb void InitHashTable( UINT hashSize , BOOL bAllocNow = TRUE );
CMapWordToPtr void InitHashTable( UINT hashSize , BOOL bAllocNow = TRUE );

CMapStringToOb::IsEmpty

Haritanın boş olup olmadığını belirler.

BOOL IsEmpty() const;

Dönüş Değeri

Bu harita öğe içermiyorsa sıfır olmayan; aksi takdirde 0.

Örnek

örneğine RemoveAllbakın.

Açıklamalar

Aşağıdaki tabloda, benzeri CMapStringToOb:: IsEmptydiğer üye işlevleri gösterilmektedir.

Sınıf Üye İşlevi
CMapPtrToPtr BOOL IsEmpty() const;
CMapPtrToWord BOOL IsEmpty() const;
CMapStringToPtr BOOL IsEmpty() const;
CMapStringToString BOOL IsEmpty() const;
CMapWordToOb BOOL IsEmpty() const;
CMapWordToPtr BOOL IsEmpty() const;

CMapStringToOb::Lookup

Bir değeri temel alan bir CObject CString işaretçi döndürür.

BOOL Lookup(
    LPCTSTR key,
    CObject*& rValue) const;

Parametreler

key
Aranacak öğeyi tanımlayan dize anahtarını belirtir.

rValue
Arama öğesinden döndürülen değeri belirtir.

Dönüş Değeri

Öğe bulunduysa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Lookup , tam olarak eşleşen bir anahtarla ( CString değer) harita öğesini hızla bulmak için bir karma algoritması kullanır.

Aşağıdaki tabloda, benzeri CMapStringToOb::LookUpdiğer üye işlevleri gösterilmektedir.

Sınıf Üye İşlevi
CMapPtrToPtr BOOL Lookup( void *key , void*& rValue ) const;
CMapPtrToWord BOOL Lookup( void *key , WORD& rValue ) const;
CMapStringToPtr BOOL Lookup( LPCTSTR key , void*& rValue ) const;
CMapStringToString BOOL Lookup( LPCTSTR key , CString& rValue ) const;
CMapWordToOb BOOL Lookup( WORD key , CObject*& rValue ) const;
CMapWordToPtr BOOL Lookup( WORD key , void*& rValue ) const;

Örnek

Tüm koleksiyon örneklerinde kullanılan sınıfın CAge listesi için bkzCObList::CObList.

CMapStringToOb map;
CAge *pa;

map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Lisa"), new CAge(11));
map.SetAt(_T("Homer"), new CAge(36));
map.SetAt(_T("Marge"), new CAge(35));
ASSERT(map.Lookup(_T("Lisa"), (CObject *&)pa)); // Is "Lisa" in the map?
ASSERT(*pa == CAge(11));                        // Is she 11?

CMapStringToOb::LookupKey

Belirtilen anahtar değeriyle ilişkili anahtara başvuru döndürür.

BOOL LookupKey(
    LPCTSTR key,
    LPCTSTR& rKey) const;

Parametreler

key
Aranacak öğeyi tanımlayan dize anahtarını belirtir.

rKey
İlişkili anahtara başvuru.

Dönüş Değeri

Anahtar bulunduysa sıfır olmayan; aksi takdirde 0.

Açıklamalar

İlişkili öğe haritadan kaldırıldıktan sonra veya harita yok edildikten sonra kullanıldığında anahtar başvurusunun kullanılması güvenli değildir.

Aşağıdaki tabloda, benzeri CMapStringToOb:: LookupKeydiğer üye işlevleri gösterilmektedir.

Sınıf Üye İşlevi
CMapStringToPtr BOOL LookupKey( LPCTSTR key , LPCTSTR& rKey ) const;
CMapStringToString BOOL LookupKey( LPCTSTR key , LPCTSTR& rKey ) const;

CMapStringToOb::operator [ ]

Üye işlevi için uygun bir SetAt alternatif.

CObject*& operator[ ](lpctstr key);

Dönüş Değeri

Bir nesne işaretçisine CObject başvuru veya harita boşsa veya NULL key aralık dışındaysa.

Açıklamalar

Bu nedenle, yalnızca atama deyiminin sol tarafında (bir l-value) kullanılabilir. Belirtilen anahtara sahip eşleme öğesi yoksa yeni bir öğe oluşturulur.

Bu işleçle eşdeğer bir "sağ taraf" (r-value) yoktur çünkü haritada bir anahtar bulunmama olasılığı vardır. Lookup Öğe alma için üye işlevini kullanın.

Aşağıdaki tabloda, benzeri CMapStringToOb::operator []diğer üye işlevleri gösterilmektedir.

Sınıf Üye İşlevi
CMapPtrToPtr void*& operator[](void *key );
CMapPtrToWord WORD& operator[](void *key );
CMapStringToPtr void*& operator[](lpctstr key );
CMapStringToString CString& operator[](lpctstr key );
CMapWordToOb CObject*& operator[](word key );
CMapWordToPtr void*& operator[](word key );

Örnek

Tüm koleksiyon örneklerinde kullanılan sınıfın CAge listesi için bkzCObList::CObList.

CMapStringToOb map;

map[_T("Bart")] = new CAge(13);
map[_T("Lisa")] = new CAge(11);
#ifdef _DEBUG
afxDump.SetDepth(1);
afxDump << _T("Operator [] example: ") << &map << _T("\n");
#endif

Bu programın sonuçları aşağıdaki gibidir:

Operator [] example: A CMapStringToOb with 2 elements
[Lisa] = a CAge at $4A02 11
[Bart] = a CAge at $497E 13

CMapStringToOb::RemoveAll

Bu haritadaki tüm öğeleri kaldırır ve anahtar nesneleri yok eder CString .

void RemoveAll();

Açıklamalar

CObject Her anahtar tarafından başvuruda bulunan nesneler yok edilmez. Başvuruda CObject bulunan RemoveAll nesnelerin yok edilmesini sağlamazsanız işlev bellek sızıntılarına neden olabilir.

Eşleme zaten boşsa işlev düzgün çalışır.

Aşağıdaki tabloda, benzeri CMapStringToOb::RemoveAlldiğer üye işlevleri gösterilmektedir.

Sınıf Üye İşlevi
CMapPtrToPtr void RemoveAll();
CMapPtrToWord void RemoveAll();
CMapStringToPtr void RemoveAll();
CMapStringToString void RemoveAll();
CMapWordToOb void RemoveAll();
CMapWordToPtr void RemoveAll();

Örnek

Tüm koleksiyon örneklerinde kullanılan sınıfın CAge listesi için bkzCObList::CObList.

{
   CMapStringToOb map;

   CAge age1(13); // Two objects on the stack
   CAge age2(36);
   map.SetAt(_T("Bart"), &age1);
   map.SetAt(_T("Homer"), &age2);
   ASSERT(map.GetCount() == 2);
   map.RemoveAll(); // CObject pointers removed; objects not removed.
   ASSERT(map.GetCount() == 0);
   ASSERT(map.IsEmpty());
} // The two CAge objects are deleted when they go out of scope.

CMapStringToOb::RemoveKey

Sağlanan anahtara karşılık gelen eşleme girişini arar; daha sonra anahtar bulunursa girişi kaldırır.

BOOL RemoveKey(LPCTSTR key);

Parametreler

key
Eşleme araması için kullanılan dizeyi belirtir.

Dönüş Değeri

Girdi bulunduysa ve başarıyla kaldırıldıysa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Nesne başka bir yerde silinmezse CObject bu durum bellek sızıntılarına neden olabilir.

Aşağıdaki tabloda, benzeri CMapStringToOb::RemoveKeydiğer üye işlevleri gösterilmektedir.

Sınıf Üye İşlevi
CMapPtrToPtr BOOL RemoveKey( void *key );
CMapPtrToWord BOOL RemoveKey( void *key );
CMapStringToPtr BOOL RemoveKey( LPCTSTR key );
CMapStringToString BOOL RemoveKey( LPCTSTR key );
CMapWordToOb BOOL RemoveKey( WORD key );
CMapWordToPtr BOOL RemoveKey( WORD key );

Örnek

Tüm koleksiyon örneklerinde kullanılan sınıfın CAge listesi için bkzCObList::CObList.

CMapStringToOb map;

map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Lisa"), new CAge(11));
map.SetAt(_T("Homer"), new CAge(36));
map.SetAt(_T("Marge"), new CAge(35));
map.RemoveKey(_T("Lisa")); // Memory leak: CAge object not
                           // deleted.
#ifdef _DEBUG
afxDump.SetDepth(1);
afxDump << _T("RemoveKey example: ") << &map << _T("\n");
#endif

Bu programın sonuçları aşağıdaki gibidir:

RemoveKey example: A CMapStringToOb with 3 elements
[Marge] = a CAge at $49A0 35
[Homer] = a CAge at $495E 36
[Bart] = a CAge at $4634 13

CMapStringToOb::SetAt

Birincil, bir öğeyi eşlem içine eklemek anlamına gelir.

void SetAt(
    LPCTSTR key,
    CObject* newValue);

Parametreler

key
Yeni öğenin anahtarı olan dizeyi belirtir.

newValue
CObject Yeni öğenin değeri olan işaretçiyi belirtir.

Açıklamalar

İlk olarak, anahtar aranmış. Anahtar bulunursa ilgili değer değiştirilir; aksi takdirde yeni bir anahtar-değer öğesi oluşturulur.

Aşağıdaki tabloda, benzeri CMapStringToOb::SetAtdiğer üye işlevleri gösterilmektedir.

Sınıf Üye İşlevi
CMapPtrToPtr void SetAt( void *key , void *newValue );
CMapPtrToWord void SetAt( void *key , WORD newValue );
CMapStringToPtr void SetAt( LPCTSTR key , void *newValue );
CMapStringToString void SetAt( LPCTSTR key , LPCTSTR newValue );
CMapWordToOb void SetAt( WORD key , CObject *newValue );
CMapWordToPtr void SetAt( WORD key , void *newValue );

Örnek

Tüm koleksiyon örneklerinde kullanılan sınıfın CAge listesi için bkzCObList::CObList.

CMapStringToOb map;
CAge *pa;

map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Lisa"), new CAge(11)); // Map contains 2
                                     // elements.
#ifdef _DEBUG
afxDump.SetDepth(1);
afxDump << _T("before Lisa's birthday: ") << &map << _T("\n");
#endif
if (map.Lookup(_T("Lisa"), (CObject *&)pa))
{ // CAge 12 pointer replaces CAge 11 pointer.
   map.SetAt(_T("Lisa"), new CAge(12));
   delete pa; // Must delete CAge 11 to avoid memory leak.
}
#ifdef _DEBUG
afxDump << _T("after Lisa's birthday: ") << &map << _T("\n");
#endif

Bu programın sonuçları aşağıdaki gibidir:

before Lisa's birthday: A CMapStringToOb with 2 elements
[Lisa] = a CAge at $493C 11
[Bart] = a CAge at $4654 13
after Lisa's birthday: A CMapStringToOb with 2 elements
[Lisa] = a CAge at $49C0 12
[Bart] = a CAge at $4654 13

Ayrıca bkz.

CObject Sınıf
Hiyerarşi Grafiği
CMapPtrToPtr Sınıf
CMapPtrToWord Sınıf
CMapStringToPtr Sınıf
CMapStringToString Sınıf
CMapWordToOb Sınıf
CMapWordToPtr Sınıf