Beispielprogramm: OBJLISTE.CPP
Das Programm OBJLISTE.CPP zeigt ein Objekt mit einer internen Referenz auf ein anderes Objekt derselben Klasse. Das ist die normale Struktur einer einfach verbundenen Liste und wir werden die Verwendung in diesem Beispiel sehr einfach halten.
Der Konstruktor beinhaltet in Zeile 22 die Initialisierung des Zeigers mit einer Zuweisung des Wertes NULL. Das solltest Du in allen Deinen Programmen so halten, laß keinen Zeiger ins Nichts zeigen, sondern initialisiere alle Zeiger auf irgendeinen Wert. Wenn dies im Konstruktor geschieht, hast Du gewährleistet, daß die Zeiger eines jeden Objektes automatisch initialisiert werden. Es ist dann unmöglich, es zu vergessen.
In den Zeilen 13 und 14 deklarieren wir zwei weitere Methoden, von denen die in Zeile 14 ein Konstrukt beinhaltet, das wir in unserer Einführung noch nicht betrachtet haben. Diese Methode gibt einen Zeiger auf ein Objekt der Klasse Box zurück. Wie Du weißt, kannst Du in Standard-C eine Zeiger auf eine Struktur zurückgeben, und was wir hier haben, ist die Umsetzung dessen in C++. Die Implementation in den Zeilen 49 bis 52 gibt den Zeiger, der als Elementvariable im Objekt selbst gespeichert ist, zurück. Auf die Verwendung werden wir eingehen, wenn wir das eigentliche Programm betrachten.

Im Hauptprogramm definieren wir einen weiteren Zeiger mit dem Namen BoxZeiger, um ihn später zu verwenden. In Zeile 67 lassen wir den internen Zeiger des Objektes der Klasse Box mit dem Namen Klein auf das Objekt Mittel zeigen. Zeile 68 läßt den internen Zeiger des Objektes Mittel auf das Objekt Grosz zeigen. Wir haben eine verbundene Liste mit drei Elementen erzeugt. In Zeile 70 veranlassen wir, daß der Zeiger des Hauptprogrammes auf das Objekt Klein zeigt. In Zeile 71 verwenden wir diesen Zeiger dann, um auf das Objekt Klein zu zeigen und lassen ihn auf das Objekt zeigen, auf das der Zeiger des Objektes Klein zeigt, also die Adresse des Objektes Mittel. Wir sind demnach von einem Objekt zum nächsten fortgeschritten, indem wir an eines der Objekte eine Nachricht gesendet haben. Würden wir die Zeile 71 genau so wie sie hier steht noch einmal wiederholen, würde das den Zeiger des Hauptprogrammes auf das Objekt Grosz zeigen lassen. Wir hätten dann die gesamte Liste mit ihren drei Elementen durchwandert. Bild 6-2 zeigt den Speicherinhalt nach Abarbeiten der Zeile 70. Beachte, daß nur ein Fragment jedes Objektes dargestellt ist, um die Zeichnung einfach zu halten.
Copyright © 1997, 1998, 2001-2006 Heinz Tschabitscher - Letzte Änderung 13. Dezember 2005
Heinz Tschabitscher - | Datenschutz | Impressum - Kommentare, Kritik, Anregungen, Erklärungen?