2
我首先定義專用模板類是否可以繼承另一個專用模板類?
class Hash
{
};
然後散列的一個特例。
template <class T>
class Hash<int, T>
{
public:
Hash(int slotN = 11);
bool insert(int key, T val);
bool remove(int key);
bool contains(int key);
bool query(int key, T& val) ;
protected:
// Basic Variables of the Hash Model.
list<int>* slot;
list<T>* slotVal;
int slotN;
};
我想用哈希 的這個特殊版本來實現另一個專業化:的 字符串值爲鍵哈希。
template <class T>
class Hash<string, T> : public Hash<int, T>
{
public:
Hash(int slotN);
bool insert(string key, T val);
bool remove(string key);
bool contains(string key);
bool query(string key, T& val) ;
private:
// Calculate the String's Hash Key.
int str2key(string key);
};
但似乎我無法訪問類哈希中的字段。爲什麼?
您的主要聲明'Hash'沒有顯示任何模板參數,所以您專門做了什麼,我對您顯示的代碼有點困惑。你能顯示具體的代碼和錯誤信息嗎? –