如何将模板化类传递给另一个类的构造函数?我试图将模板化的哈希表类传递给菜单类,这将允许我允许用户决定哈希表的类型.
template <class T>
class OpenHash
{
private:
vector <T> hashTab;
vector <int> emptyCheck;
int hashF(string);
int hashF(int);
int hashF(double);
int hashF(float);
int hashF(char);
public:
OpenHash(int);
int getVectorCap();
int addRecord (T);
int sizeHash();
int find(T);
int printHash();
int deleteEntry(T);
};
template <class T>
OpenHash<T>::OpenHash(int vecSize)
{
hashTab.clear();
hashTab.resize(vecSize);
emptyCheck.resize(vecSize);
for (int i=0; i < emptyCheck.capacity(); i++)
{
emptyCheck.at(i) = 0;
}
}
Run Code Online (Sandbox Code Playgroud)
所以我有这个模板的Open哈希是模板化的,因为它应该允许添加任何类型,如果在我的main中启动它的对象并更改输入类型等我有这个工作.
int main ()
{
cout << "Please input the size of your HashTable" << endl;
int vecSize …Run Code Online (Sandbox Code Playgroud)