carlez
carlez

Reputation: 93

How to write specializations of a method of a template class

I'm writing a template class for a dynamic list that allows you to insert three different types of data. I want to create three methods to insert an item within the list using the specializations. What is the right way to do this?

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

Upvotes: 0

Views: 105

Answers (1)

Chowlett
Chowlett

Reputation: 46685

You don't need to specialise at all. Just define your add functions as

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

(from within the class).

Here's a matching example.

Upvotes: 1

Related Questions