Datenstrukturen

Für die Listenklasse sind zwei Datenstrukturen notwendig, die im folgenden näher erläutert werden:

Verwaltung der Liste

Zeiger auf Listenanfang

template <class T> 
class CList <T> {
...
private:
CElement * m_pFirst;
...
}

Dieser Zeiger verweist auf das erste Listenelement. Ist die Liste leer, so hat dieser Zeiger den Wert NULL. Es bestehen keine direkten Zugriffsfunktionen für den Wert von m_pFirst, lediglich CList::IsEmpty verwendet diesen Wert zur Statusabfrage der Liste.

Hilfklasse zum speichern der Daten

Die Listenelemente besitzen zwei Member - Variablen, die benötigt werden, um die Anforderungen der Aufgabe zu erfüllen:

Zeiger auf nächstes Listenelement

template <class T>
class CList <T>::CElement
{
...
private:
CElement * m_pNext;
...
}

Dieser Zeiger verweist auf das nächste Listenelement. Ist er NULL, so ist das Ende der Liste erreicht.

Zugriffsfunktionen

Speicherbereich für Datum

template <class T>
class CList <T>::CElement
{
...
private:
T m_pData;
...
}

In dieser Variable wird das zu sichernde Datum gespeichert.

Zugriffsfunktionen