Given the following template class for linked lists:
template <class T>
class LinkedList;
template <class T>
class ListElement
{
T datum;
ListElement* next;
ListElement (T const&, ListElement*);
friend LinkedList <T>;
};
template <class T>
class LinkedList
{
ListElement<T>* head;
public:
LinkedList ();
~LinkedList ();
bool IsEmpty () const;
T const& First () const;
T const& Last () const;
void Prepend (T const&);
void Append (T const&);
void Extract (T const&);
void Print ();
};
How would you declare a linked list of
- integers
- characters
- floats