Als erstes benötigen wir ein Listenelement. Dieses definieren wir als eigenständige Klasse.
class Listenelement
class Kunde { ....};
{
friend class Liste; // Die Listenklasse soll Zugriff haben
public:
Listenelement(Kunde K, Listenelement* l = 0) : k(K), next(l) {};
~Listenelement() { delete next;}
private: // sonst darf niemand Listenelemente verändern
Kunde k; // Der eigentliche Datensatz
Listenelement* next; // Zeiger auf nächstes Element
};
Mehr muß unser Listenelement zunächst nicht können. Der Konstruktor erlaubt die Übergabe eines Kunden (er erwzingt sie sogar, da kein Defaultkostruktor vorhanden ist) und erlaubt die gleichzeitige Übergabe eines Zeigers auf den Nachfolger.
Der Destruktor vergißt auch nicht den das Objekt, auf das er zeigt zu löschen. Die Auswirkungen dieses Algorithmus sehen wir später.