CMapStringToOb
Kelas
Kelas koleksi kamus yang memetakan objek unik CString
ke CObject
penunjuk.
Sintaks
class CMapStringToOb : public CObject
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CMapStringToOb::CMapStringToOb |
Konstruktor. |
Metode Publik
Nama | Deskripsi |
---|---|
CMapStringToOb::GetCount |
Mengembalikan jumlah elemen dalam peta ini. |
CMapStringToOb::GetHashTableSize |
Menentukan jumlah elemen saat ini dalam tabel hash. |
CMapStringToOb::GetNextAssoc |
Mendapatkan elemen berikutnya untuk iterasi. |
CMapStringToOb::GetSize |
Mengembalikan jumlah elemen dalam peta ini. |
CMapStringToOb::GetStartPosition |
Mengembalikan posisi elemen pertama. |
CMapStringToOb::HashKey |
Menghitung nilai hash kunci tertentu. |
CMapStringToOb::InitHashTable |
Menginisialisasi tabel hash. |
CMapStringToOb::IsEmpty |
Pengujian untuk kondisi peta kosong (tidak ada elemen). |
CMapStringToOb::Lookup |
Mencari penunjuk yang batal berdasarkan kunci penunjuk yang batal. Nilai pointer, bukan entitas yang dituju, digunakan untuk perbandingan kunci. |
CMapStringToOb::LookupKey |
Mengembalikan referensi ke kunci yang terkait dengan nilai kunci yang ditentukan. |
CMapStringToOb::RemoveAll |
Menghapus semua elemen dari peta ini. |
CMapStringToOb::RemoveKey |
Menghapus elemen yang ditentukan oleh kunci. |
CMapStringToOb::SetAt |
Menyisipkan elemen ke dalam peta; menggantikan elemen yang ada jika kunci yang cocok ditemukan. |
Operator Publik
Nama | Deskripsi |
---|---|
CMapStringToOb::operator [ ] |
Menyisipkan elemen ke dalam peta — penggantian operator untuk SetAt . |
Keterangan
Setelah menyisipkan CString
- CObject*
pasangan (elemen) ke dalam peta, Anda dapat mengambil atau menghapus pasangan secara efisien menggunakan string atau CString
nilai sebagai kunci. Anda juga dapat melakukan iterasi di semua elemen di peta.
Variabel jenis POSITION
digunakan untuk akses entri alternatif di semua variasi peta. Anda dapat menggunakan POSITION
untuk "mengingat" entri dan untuk melakukan iterasi melalui peta. Anda mungkin berpikir bahwa iterasi ini berurutan oleh nilai kunci; itu tidak. Urutan elemen yang diambil tidak ditentukan.
CMapStringToOb
menggabungkan IMPLEMENT_SERIAL
makro untuk mendukung serialisasi dan pembuangan elemennya. Setiap elemen diserialisasikan pada gilirannya jika peta disimpan ke arsip, baik dengan operator penyisipan ( <<
) yang kelebihan beban atau dengan Serialize
fungsi anggota.
Jika Anda memerlukan cadangan diagnostik dari masing-masing elemen di peta ( CString
nilai dan CObject
konten), Anda harus mengatur kedalaman konteks cadangan ke 1 atau lebih besar.
CMapStringToOb
Saat objek dihapus, atau ketika elemennya dihapus, CString
objek dan CObject
penunjuk dihapus. Objek yang direferensikan CObject
oleh pointer tidak dihancurkan.
Derivasi kelas peta mirip dengan derivasi daftar. Lihat artikel Koleksi untuk ilustrasi turunan kelas daftar tujuan khusus.
Hierarki Warisan
CMapStringToOb
Persyaratan
Header: afxcoll.h
CMapStringToOb::CMapStringToOb
Membuat peta -ke-kosongCString
CObject*
.
CMapStringToOb(INT_PTR nBlockSize = 10);
Parameter
nBlockSize
Menentukan granularitas alokasi memori untuk memperluas peta.
Keterangan
Seiring bertambahnya peta, memori dialokasikan dalam satuan nBlockSize
entri.
Tabel berikut ini memperlihatkan fungsi anggota lain yang mirip CMapStringToOb:: CMapStringToOb
dengan .
Kelas | Fungsi Anggota |
---|---|
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 ); |
Contoh
CMapStringToOb map(20); // Map on the stack with blocksize of 20
CMapStringToOb *pm = new CMapStringToOb; // Map on the heap
// with default blocksize
Lihat CObList::CObList
untuk daftar kelas yang CAge
digunakan dalam semua contoh koleksi.
CMapStringToOb::GetCount
Menentukan berapa banyak elemen yang ada di peta.
INT_PTR GetCount() const;
Tampilkan Nilai
Jumlah elemen dalam peta ini.
Keterangan
Tabel berikut ini memperlihatkan fungsi anggota lain yang mirip CMapStringToOb::GetCount
dengan .
Kelas | Fungsi Anggota |
---|---|
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; |
Contoh
Lihat CObList::CObList
untuk daftar kelas yang CAge
digunakan dalam semua contoh koleksi.
CMapStringToOb map;
map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Homer"), new CAge(36));
ASSERT(map.GetCount() == 2);
CMapStringToOb::GetHashTableSize
Menentukan jumlah elemen saat ini dalam tabel hash.
UINT GetHashTableSize() const;
Tampilkan Nilai
Mengembalikan jumlah elemen dalam tabel hash.
Keterangan
Tabel berikut ini memperlihatkan fungsi anggota lain yang mirip CMapStringToOb::GetHashTableSize
dengan .
Kelas | Fungsi Anggota |
---|---|
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
Mengambil elemen peta di rNextPosition
, lalu memperbarui rNextPosition
untuk merujuk ke elemen berikutnya di peta.
void GetNextAssoc(
POSITION& rNextPosition,
CString& rKey,
CObject*& rValue) const;
Parameter
rNextPosition
Menentukan referensi ke nilai POSITION yang dikembalikan oleh sebelumnya GetNextAssoc
atau GetStartPosition
panggilan.
rKey
Menentukan kunci yang dikembalikan dari elemen yang diambil (string).
rValue
Menentukan nilai yang dikembalikan dari elemen yang CObject
diambil (penunjuk). Lihat Komentar untuk informasi selengkapnya tentang parameter ini.
Keterangan
Fungsi ini paling berguna untuk iterasi melalui semua elemen di peta. Perhatikan bahwa urutan posisi belum tentu sama dengan urutan nilai kunci.
Jika elemen yang diambil adalah yang terakhir dalam peta, maka nilai rNextPosition
baru diatur ke NULL
.
rValue
Untuk parameter , pastikan untuk melemparkan jenis objek Anda ke CObject*&
, yang diperlukan pengkompilasi, seperti yang ditunjukkan dalam contoh berikut:
CObject *ob;
map.GetNextAssoc(pos, key, (CObject *&)ob);
Ini tidak berlaku GetNextAssoc
untuk peta berdasarkan templat.
Tabel berikut ini memperlihatkan fungsi anggota lain yang mirip CMapStringToOb::GetNextAssoc
dengan .
Kelas | Fungsi Anggota |
---|---|
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; |
Contoh
Lihat CObList::CObList
untuk daftar kelas yang CAge
digunakan dalam semua contoh koleksi.
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
}
Hasil dari program ini adalah sebagai berikut:
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
Mengembalikan jumlah elemen peta.
INT_PTR GetSize() const;
Tampilkan Nilai
Jumlah item dalam peta.
Keterangan
Panggil metode ini untuk mengambil jumlah elemen dalam peta.
Tabel berikut ini memperlihatkan fungsi anggota lain yang mirip CMapStringToOb::GetSize
dengan .
Kelas | Fungsi Anggota |
---|---|
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; |
Contoh
CMapStringToOb map;
map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Homer"), new CAge(36));
ASSERT(map.GetSize() == 2);
CMapStringToOb::GetStartPosition
Memulai iterasi peta dengan mengembalikan POSITION
nilai yang dapat diteruskan ke GetNextAssoc
panggilan.
POSITION GetStartPosition() const;
Tampilkan Nilai
Nilai POSITION
yang menunjukkan posisi awal untuk melakukan iterasi peta; atau NULL
jika peta kosong.
Keterangan
Urutan iterasi tidak dapat diprediksi; oleh karena itu, "elemen pertama dalam peta" tidak memiliki signifikansi khusus.
Tabel berikut ini memperlihatkan fungsi anggota lain yang mirip CMapStringToOb::GetStartPosition
dengan .
Kelas | Fungsi Anggota |
---|---|
CMapPtrToPtr |
POSITION GetStartPosition() const; |
CMapPtrToWord |
POSITION GetStartPosition() const; |
CMapStringToPtr |
POSITION GetStartPosition() const; |
CMapStringToString |
POSITION GetStartPosition() const; |
CMapWordToOb |
POSITION GetStartPosition() const; |
CMapWordToPtr |
POSITION GetStartPosition() const; |
Contoh
Lihat contoh untuk CMapStringToOb::GetNextAssoc
.
CMapStringToOb::HashKey
Menghitung nilai hash kunci tertentu.
UINT HashKey(LPCTSTR key) const;
Parameter
key
Kunci yang nilai hash-nya akan dihitung.
Tampilkan Nilai
Nilai hash Kunci
Keterangan
Tabel berikut ini memperlihatkan fungsi anggota lain yang mirip CMapStringToOb::HashKey
dengan .
Kelas | Fungsi Anggota |
---|---|
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
Menginisialisasi tabel hash.
void InitHashTable(
UINT hashSize,
BOOL bAllocNow = TRUE);
Parameter
hashSize
Jumlah entri dalam tabel hash.
bAllocNow
Jika TRUE
, mengalokasikan tabel hash setelah inisialisasi; jika tidak, tabel dialokasikan saat diperlukan.
Keterangan
Untuk performa terbaik, ukuran tabel hash harus berupa angka utama. Untuk meminimalkan tabrakan, ukurannya harus kira-kira 20 persen lebih besar dari himpunan data terbesar yang diantisipasi.
Tabel berikut ini memperlihatkan fungsi anggota lain yang mirip CMapStringToOb::InitHashTable
dengan .
Kelas | Fungsi Anggota |
---|---|
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
Menentukan apakah peta kosong.
BOOL IsEmpty() const;
Tampilkan Nilai
Bukan nol jika peta ini tidak berisi elemen; jika tidak, 0.
Contoh
Lihat contoh untuk RemoveAll
.
Keterangan
Tabel berikut ini memperlihatkan fungsi anggota lain yang mirip CMapStringToOb:: IsEmpty
dengan .
Kelas | Fungsi Anggota |
---|---|
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
Mengembalikan CObject
penunjuk berdasarkan CString
nilai.
BOOL Lookup(
LPCTSTR key,
CObject*& rValue) const;
Parameter
key
Menentukan kunci string yang mengidentifikasi elemen yang akan dicari.
rValue
Menentukan nilai yang dikembalikan dari elemen pencarian.
Tampilkan Nilai
Bukan nol jika elemen ditemukan; jika tidak, 0.
Keterangan
Lookup
menggunakan algoritma hashing untuk menemukan elemen peta dengan cepat dengan kunci yang cocok dengan tepat ( CString
nilai).
Tabel berikut ini memperlihatkan fungsi anggota lain yang mirip CMapStringToOb::LookUp
dengan .
Kelas | Fungsi Anggota |
---|---|
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; |
Contoh
Lihat CObList::CObList
untuk daftar kelas yang CAge
digunakan dalam semua contoh koleksi.
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
Mengembalikan referensi ke kunci yang terkait dengan nilai kunci yang ditentukan.
BOOL LookupKey(
LPCTSTR key,
LPCTSTR& rKey) const;
Parameter
key
Menentukan kunci string yang mengidentifikasi elemen yang akan dicari.
rKey
Referensi ke kunci terkait.
Tampilkan Nilai
Bukan nol jika kunci ditemukan; jika tidak, 0.
Keterangan
Menggunakan referensi ke kunci tidak aman jika digunakan setelah elemen terkait dihapus dari peta atau setelah peta dihancurkan.
Tabel berikut ini memperlihatkan fungsi anggota lain yang mirip CMapStringToOb:: LookupKey
dengan .
Kelas | Fungsi Anggota |
---|---|
CMapStringToPtr |
BOOL LookupKey( LPCTSTR key , LPCTSTR& rKey ) const; |
CMapStringToString |
BOOL LookupKey( LPCTSTR key , LPCTSTR& rKey ) const; |
CMapStringToOb::operator [ ]
Pengganti yang nyaman untuk SetAt
fungsi anggota.
CObject*& operator[ ](lpctstr key);
Tampilkan Nilai
Referensi ke penunjuk ke CObject
objek; atau NULL
jika peta kosong atau key
berada di luar rentang.
Keterangan
Dengan demikian dapat digunakan hanya di sisi kiri pernyataan penugasan ().l-value
Jika tidak ada elemen peta dengan kunci yang ditentukan, maka elemen baru dibuat.
Tidak ada "sisi kanan" (r-value
) yang setara dengan operator ini karena ada kemungkinan bahwa kunci mungkin tidak ditemukan di peta. Lookup
Gunakan fungsi anggota untuk pengambilan elemen.
Tabel berikut ini memperlihatkan fungsi anggota lain yang mirip CMapStringToOb::operator []
dengan .
Kelas | Fungsi Anggota |
---|---|
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 ); |
Contoh
Lihat CObList::CObList
untuk daftar kelas yang CAge
digunakan dalam semua contoh koleksi.
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
Hasil dari program ini adalah sebagai berikut:
Operator [] example: A CMapStringToOb with 2 elements
[Lisa] = a CAge at $4A02 11
[Bart] = a CAge at $497E 13
CMapStringToOb::RemoveAll
Menghapus semua elemen dari peta ini dan menghancurkan CString
objek kunci.
void RemoveAll();
Keterangan
Objek CObject
yang direferensikan oleh setiap kunci tidak dihancurkan. Fungsi ini RemoveAll
dapat menyebabkan kebocoran memori jika Anda tidak memastikan bahwa objek yang direferensikan CObject
dihancurkan.
Fungsi berfungsi dengan benar jika peta sudah kosong.
Tabel berikut ini memperlihatkan fungsi anggota lain yang mirip CMapStringToOb::RemoveAll
dengan .
Kelas | Fungsi Anggota |
---|---|
CMapPtrToPtr |
void RemoveAll(); |
CMapPtrToWord |
void RemoveAll(); |
CMapStringToPtr |
void RemoveAll(); |
CMapStringToString |
void RemoveAll(); |
CMapWordToOb |
void RemoveAll(); |
CMapWordToPtr |
void RemoveAll(); |
Contoh
Lihat CObList::CObList
untuk daftar kelas yang CAge
digunakan dalam semua contoh koleksi.
{
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
Mencari entri peta yang sesuai dengan kunci yang disediakan; kemudian, jika kunci ditemukan, akan menghapus entri.
BOOL RemoveKey(LPCTSTR key);
Parameter
key
Menentukan string yang digunakan untuk pencarian peta.
Tampilkan Nilai
Bukan nol jika entri ditemukan dan berhasil dihapus; jika tidak, 0.
Keterangan
Ini dapat menyebabkan kebocoran CObject
memori jika objek tidak dihapus di tempat lain.
Tabel berikut ini memperlihatkan fungsi anggota lain yang mirip CMapStringToOb::RemoveKey
dengan .
Kelas | Fungsi Anggota |
---|---|
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 ); |
Contoh
Lihat CObList::CObList
untuk daftar kelas yang CAge
digunakan dalam semua contoh koleksi.
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
Hasil dari program ini adalah sebagai berikut:
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
Primer berarti menyisipkan elemen dalam peta.
void SetAt(
LPCTSTR key,
CObject* newValue);
Parameter
key
Menentukan string yang merupakan kunci elemen baru.
newValue
Menentukan penunjuk CObject
yang merupakan nilai elemen baru.
Keterangan
Pertama, kuncinya dicari. Jika kunci ditemukan, maka nilai yang sesuai diubah; jika tidak, elemen nilai kunci baru dibuat.
Tabel berikut ini memperlihatkan fungsi anggota lain yang mirip CMapStringToOb::SetAt
dengan .
Kelas | Fungsi Anggota |
---|---|
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 ); |
Contoh
Lihat CObList::CObList
untuk daftar kelas yang CAge
digunakan dalam semua contoh koleksi.
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
Hasil dari program ini adalah sebagai berikut:
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
Lihat juga
CObject
Kelas
Bagan Hierarki
CMapPtrToPtr
Kelas
CMapPtrToWord
Kelas
CMapStringToPtr
Kelas
CMapStringToString
Kelas
CMapWordToOb
Kelas
CMapWordToPtr
Kelas