Ein dynamisch beschafftes Objekt

Beispielprogramm: OBJDYNAM.CPP

Im Beispielprogramm OBJDYNAM.CPP werfen wir zum ersten Mal einen Blick auf ein dynamisch beschafftes Objekt. Dieses unterscheidet sich nicht von einem "normalen" dynamisch bereitgestellten Objekt, ein Beispiel ist aber immer recht hilfreich.

In Zeile 40 definieren wir einen Zeiger auf ein Objekt vom Typ (der Klasse) Box und da es sich nur um einen Zeiger ohne Objekt, auf das er zeigen könnte, handelt, stellen wir in Zeile 45 dynamisch ein solches bereit. Wenn wir das Objekt in Zeile 45 kreieren, wird der Konstruktor automatisch aufgerufen und weist den zwei internen Variablen Werte zu. Der Konstruktor wird nicht aufgerufen, wenn wir den Zeiger definieren, da es ja zu diesem Zeitpunkt nichts gibt, das initialisiert werden könnte. Er wird erst aufgerufen, wenn der Speicher für das Objekt bereitgestellt wird.

Auf die Elemente des Objektes greifen wir so zu wie auch auf die Elemente einer Struktur, mithilfe des Zeigeroperators, wie etwa in den Zeilen 51 bis 53 illustriert. Natürlich kannst Du den Zeiger auch ohne den Pfeil zu verwenden dereferenzieren, wie zum Beispiel (*point).set(12, 12); anstatt des Code in Zeile 52, die Pfeilnotation ist aber einfacher und universeller, sollte also verwendet werden. Schließlich löschen wir das Objekt in Zeile 55 und das Programm ist abgearbeitet. Gäbe es für diese Klasse einen Destruktor, würde er automatisch im Zuge der delete Anweisung aufgerufen werden, um aufzuräumen, bevor das Objekt im Datennirvana eins mit diesem wird. (??)

Du hast mittlerweile wahrscheinlich bemerkt, daß die Verwendung von Objekten sich von der Anwendung von Strukturen nicht wesentlich unterscheidet. Kompiliere dieses Programm und führe es aus, wenn Du verstanden hast, worum es sich dreht.

(weiter...)