Implemente uma classe Hash, em C++, respeitando o seguinte:
#ifndef T4_HASH_H
#define T4_HASH_H
#include <string>
template< typename T >
class Hash
{
public:
//Construtor. Aloca a tabela com tamanho tableSize
Hash( int tableSize );
//Destrutor. Desaloca a tabela.
~Hash();
//Insere um elemento na tabela
void insere(const std::string& chave, T valor);
//Obtém o valor de um elemento, dada a sua chave
T obtemValor(const std::string& chave);
//Funcao hash. Dada uma chave, retorna em qual
//posicao da tabela ela deve ser armazenada
int hash(const std::string& chave);
private:
struct HashElem
{
std::string _chave;
T _valor;
};
//Tabela armazenada como um C-array de elementos HashElem.
HashElem* _tabela;
/* Funcoes e membros privados que julgar necessarios */
};
#endif // T4_HASH_H