如何编写模板类方法的专用化

How to write specializations of a method of a template class

本文关键字:专用 类方法 何编写      更新时间:2023-10-16

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

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
   ...    
}

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

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

(来自班级内部)。

下面是一个匹配的示例。