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'没有显示任何模板参数,所以您专门做了什么,我对您显示的代码有点困惑。你能显示具体的代码和错误信息吗? –