

Программирование на языке MFC
Мой второй блог в серии программирования
Класс CMapWordToOb
В качестве аргументов методу передаются ключ и ассоциированное с ним значение. Вся соль этого метода состоит в том, каким образом переопределен оператор П в классе CMapWordToOb. Исходный текст этого переопределения, находящийся в файле map__wo.cpp, приведен ниже:
C0bject*& CMapWordToOb::operator[](WORD key) {
ASSERT_VALID(this);
UINT nHash; CAssoc* pAssoc;
if ((pAssoc = GetAssocAt(key, nHash)) == NULL) {
if (m_pHashTable == NULL)
InitHashTable(m_nHashTableSize);
// it doesn’t exist, add a new Association pAssoc = NewAssoc(); pAssoc->key = key;
// xpAssoc->value’ is a constructed object, nothing more
// put into hash table pAssoc->pNext = m_pHashTable[nHash]; m_pHashTable[nHash] = pAssoc;
}
return pAssoc->value; // return new reference
}
Похожие статьи: Класс CMapWordToOb
