Beispielprogramm: PROTYP1.CPP
Das Beispielprogramm PROTYP1.CPP stellt uns Prototypen einmal vor und illustriert ihre Verwendung. Es besteht kein Unterschied zwischen der Prototypisierung, die C++ verwendet und jener von ANSI-C. Allerdings sind viele C Programmiererinnen etwas mißtrauisch, wenn es um Prototypen geht und anscheinend nicht wirklich willens, sie auch zu verwenden. In C++ ist die Prototypisierung wesentlich wichtiger und wird auch viel öfter verwendet. In manchen Fällen führt in C++ kein Weg an den Prototypen vorbei.
Ein Prototyp ist ein vereinfachtes Modell eines komplexen Objektes. In unserem Beispiel ist eine komplette Funktion das Objekt und den Prototyp dazu finden wir in Zeile 4. Der Prototyp gibt ein Modell der Schnittstelle der Funktion, sodaß Funktionsaufrufe auf die Richtigkeit der Anzahl und der Art der Argumente überprüft werden können. Jeder Aufruf der Funktion MachWas() muß genau drei Parameter haben, oder der Compiler wird einen Fehler melden. Neben der Anzahl müssen auch die Typen der Parameter übereinstimmen, oder wir bekommen eine Fehlermeldung. Beachte, daß der Compiler in den Zeilen 12 und 13 schon eine Typenüberprüfung, die auf dem Prototyp in Zeile 4 basiert durchführen kann, obwohl die Funktion selbst noch nicht definiert ist. Wenn kein Prototyp verfügbar wäre, könnte weder die Anzahl noch die Art der Parameter überprüft werden. Solltest Du da einen Fehler machen und keinen Prototypen angegeben haben, wird sich das Programm zwar wunderbar kompilieren und linken lassen, bei der Ausführung können dann aber eigenartige Dinge passieren.
Um einen Prototypen zu schreiben, mußt Du nur den Kopf der Funktion an den Beginn des Programmes kopieren und am Ende einen Strichpunkt anhängen als Indikator, daß es sich um einen Prototypen und nicht um die Funktion selbst handelt. Die Variablennamen, die im Prototypen angegeben werden, sind nicht notwendig und dienen eigentlich nur als Kommentare, da sie vom Compiler komplett ignoriert werden. Du könntest den Variablennamen Fluegel in Zeile 4 mit Deinem Vornamen ersetzen und es würde in der Kompilation keinen Unterschied machen. Die Gedanken dessen, der Dein Programm dann liest, werden sich dann womöglich auch mehr um Dich denn um das Programm drehen (was ja beileibe nichts Schlechtes ist).
In diesem Fall sind die beiden Funktionsaufrufe in den Zeilen 12 und 13 korrekt, sodaß die Kompilation ohne Fehler über die Bühne gehen sollte.
Obwohl wir in unserem Programm den Typ char für die Variable Augen verwenden wollen, möchten wir ihn doch als Zahl und nicht als Zeichen gebrauchen. Die Typenumwandlung zum Typ int in Zeile 22 brauchen wir, um die richtige Ausgabe (die einer Zahl anstatt eines ASCII Zeichens) zu erhalten. Das nächste Beispielprogramm ist ähnlich, aber ohne diese Umwandlung zu int.
Copyright © 1997, 1998, 2001-2006 Heinz Tschabitscher - Letzte Änderung 10. Dezember 2005
Heinz Tschabitscher - | Datenschutz | Impressum - Kommentare, Kritik, Anregungen, Beschwerden?
[ Satzes ]