如果我有一个像下面这样的模板定义,有人可以提供一个代码示例来说明我如何用我自己的两个类实际实例化它的一个实例吗?
template <class T1, class T2>
class LookUpTable {
public:
LookUpTable();
void set(T1 x, T2* y);
T2* get(T1 x);
};
谢谢。
最佳答案
除非为构造函数提供定义,否则无法实例化它。除非您为其他两个函数提供定义,否则您将无法使用它。如果你确实提供了它们,你会像这样实例化它:
LookUpTable <std::string, int> t;
或者如果您有自己的 A 类和 B 类:
LookUpTable <A, B> t;
看起来这是某种 map ,在这种情况下,您也可以使用 std::map:
#include <map>
#include <string>
std::map <std::string, int> m;
关于C++ 模板用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2801424/