Beispielprogramm: OBJZKETT.CPP
Das Programm OBJZKETT.CPP ist unser erstes Beispiel für eine Zeichenkette innerhalb eines Objektes. Eigentlich handelt es sich dabei ja nicht um eine Zeichenkette selbst, sondern um einen Zeiger, die beiden sind aber so eng verbunden, daß wir sie zugleich abhandeln können.
In Zeile 8 deklarieren wir einen Zeiger auf eine Variable vom Typ char mit dem Namen TextZeile Der Konstruktor nimmt einen Parameter, einen Zeiger auf eine Zeichenkette, entgegen. Die Zeichenkette wird im Konstruktor unter dem Namen TextZeile kopiert. Wir hätten die Variable TextZeile in der Klasse als Array deklarieren können, um dann mithilfe von strcpy() die Zeichenkette in diesen Array zu kopieren und alles hätte genauso gut funktioniert. Das soll aber Dir als Aufgabe am Ende des Kapitels vorbehalten bleiben [hehe]. Wir sollten vielleicht noch festhalten, daß wir uns keineswegs auf einen einzigen Parameter für einen Konstruktor beschränken müssen. Wie wir noch zeigen werden, kann ein Konstruktor (fast) jede erdenkliche Anzahl von Parametern haben.
Wenn wir also dieses Mal unsere drei Boxen deklarieren geben wir jeder eine konstante Zeichenkette mit auf den Weg zum Konstruktor, damit dieser dem internen Zeiger auf eine Zeichenkette auch etwas zuweisen kann. Beim Aufruf von HoleFlaeche() in den Zeilen 50 bis 54 wird eine Nachricht ausgegeben und die Fläche zurückgegeben. Es wäre sicherlich sinnvoller, diese beiden Aktionen auf separate Methoden aufzuteilen, da ja kein ersichtlicher Zusammenhang zwischen ihnen besteht, wir haben es aber so gemacht wie wir es gemacht haben, um zu zeigen, daß es geht. Was wir also wirklich demonstrieren, ist, daß eine Methode einen Nebeneffekt (Ausgabe der Nachricht) haben kann und einen Wert zurückgibt, die Fläche der Box. We wir aber in Kapitel 4 beim Beispiel STANDARD.CPP gesehen haben, ist die Abfolge der Abarbeitung bisweilen eigenartig was, uns dazu bewogen hat, die Codezeile auf zwei aufzuteilen.
Hast Du dieses Programm verstanden, kompiliere es 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?