Lektion 62:Der Zuweisungs-OperatorDas Programm, das in der letzten Lektion einen Fehler verursacht hat, muß nur leicht modifiziert werden, um auch die verbesserte Version der Klasse Vector zum Abstürzen zu bringen.
Der Fehler liegt jetzt in der Zeile
Für die Zuweisung erzeugt der Compiler ebenfalls automatisch eine Methode. Auch diese Methode kopiert nur die Attribute, ohne zu erkennen, daß noch mehr gemacht werden müßte. Also muß die Methode für den Zuweisungsoperator ebenfalls explizit angegeben werden. Zuerst wird der alte Speicher freigegeben und dann wird neuer Speicher in der Größe des anderen Vectors angelegt und die Daten werden kopiert. Bis auf die erste Zeile ist der Code also identisch mit dem des Copy-Konstruktors.
Heureka! Das Programm funktioniert. Den nächsten Fehler dürfen Sie in der folgenden Lektion genießen. Falls Ihnen Fehler im Text auffallen oder Sie Verbesserungsvorschläge haben, dann schicken Sie mir bitte eine Mail. Ich werde mich dann sofort darum kümmern. [aktuelle Version] [inhalt] [index] [Fehlerkorrektur, Verbesserungsvorschlag] © Volkard Henkel <volkard@normannia.de>, last update: 08/25/00 |