verkettete Listen

Die Definiton des Listenelements

Als erstes benötigen wir ein Listenelement. Dieses definieren wir als eigenständige Klasse.

class Kunde { ....};

class Listenelement
{
  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.