我想知道是否可以在不多次定义模板的情况下实现一个模板类的多个功能。
声明:
template <class T>
class Test{
private:
T field;
public:
Test(T value);
T& get();
void set(T value);
};
实现:
template <class T> Test<T>::Test(T value){ set(value); }
template <class T> T& Test<T>::get(){ return field; }
template <class T> void Test<T>::set(T value){ field = value; }
正在复制 template <class T>
多次有点容易出错。我想知道我是否可以做这样的事情:
template <class T>{
Test<T>::Test(T value){ set(value); }
T& Test<T>::get(){ return field; }
void Test<T>::set(T value){ field = value; }
}
如有任何帮助,我们将不胜感激。
最佳答案
如果您不将其与类分开,则不必指定 template<class T>
每次。
关于C++ - 如何在不多次定义模板的情况下实现模板类的多个功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14670423/