// #include #include template HashTable::~HashTable() { IHashable *pH, *pTmp; for (HashIndex i=0; i < SIZE; i++) { pH = aBuckets[i]; while (pH) { pTmp = pH->Next(); pH -> Release(); pH = pTmp; } } } template IHashable *&HashTable::Find(IHashable *pKey) { IHashable **ppElem = &aBuckets[pKey->Hash(SIZE)]; while ((*ppElem != NULL) && (**ppElem != (T*) pKey)) { ppElem = &(*ppElem)->Next(); } return *ppElem; }