Es ist zwar nicht gleich ersichtlich, aber auch ein Zuweisungsoperator ist für dieses Beispielprogramm notwendig, da der Standardzuweisungsoperator einfach eine Kopie des Speicherinhaltes herstellt. Das würde in demselben Problem resultieren wie beim Kopierkonstruktor. Wir deklarieren den Zuweisungsoperator in Zeile 16 und definieren ihn in den Zeilen 40 bis 49. Wir löschen zuerst die alte Zeichenkette des existierenden Objektes, dann stellen wir den Speicher für den neuen Text bereit und kopieren ihn vom Quellobjekt in das neue Objekt. Den Zuweisungsoperator verwenden wir in der Zeile 90.
Es ist ziemlich offensichtlich, dass die obigen drei Methoden zusätzlich zu einem Destruktor bereitgestellt werden sollten, wenn eine Klasse dynamische Speicherverwaltung beinhaltet. Wenn Du einen der vier vergißt, kann das Programm ein eigenartiges Verhalten an den Tag legen. Kompiliere dieses Programm und führe es aus.
Copyright © 1997, 1998, 2001-2006 Heinz Tschabitscher - Letzte Änderung 13. Dezember 2005
Heinz Tschabitscher - | Datenschutz | Impressum - Kommentare, Kritik, Anregungen, Erklärungen?