如何编写模板类方法的特化

时间:2013-09-12 09:55:05

标签: c++ class templates methods specialization

我正在为动态列表编写一个模板类,允许您插入三种不同类型的数据。我想创建三种方法,使用专门化在列表中插入一个项目。这样做的正确方法是什么?

template <class T, class U, class V> class list 
{

.....

}

template <> list <class T> :: add (T item) {
   ...
   // insert elem type T
   ...
}

template <> list <class U> :: add (U item) {
   ...
   // insert elem type U
   ...    
}

template <> list <class V> :: add (V item) {
   ...
   // insert elem type V
   ...    
}

1 个答案:

答案 0 :(得分:1)

你根本不需要专门化。只需将add函数定义为

即可
void add(T item) {}
void add(U item) {}
void add(V item) {}

(来自班级内)。

Here's一个匹配的例子。