Beispielprogramm: NACHR.CPP
Wirf einen Blick auf das Beispielprogramm NACHR.CPP als einem ersten Beispiel objektorientierten Programmierens, einem sehr einfachen allerdings. In diesem Programm definieren wir einige Variablen und weisen ihnen Werte zu. In den Ausgaberoutinen in den Zeilen 17 bis 20 und 23 bis 26 finden diese Variablen dann Verwendung. cout wird verwendet, um Daten mittels der Standardausgabe (üblicherweise der Bildschirm) auszugeben, aber es bestehen gewisse Unterschiede zur altbekannten printf() Funktion, da wir dem System nicht mitteilen müssen, welchen Typs die auszugebenden Daten sind. Beachte bitte, daß cout nicht direkt eine Ausgabefunktion ist. Wir können es aber als solche betrachten, bis wir das später in dieser Einführung genauer definieren. Bis dahin soll es uns genügen, festzuhalten, daß cout ein Objekt ist, das wir zur Ausgabe von Daten auf dem Bildschirm verwenden.
In C++ sind wie auch in C keine Ausgabefunktionen als Bestandteil der Sprache selbst enthalten, sondern es wird die stream Bibliothek definiert, um auf elegante Weise Ein- und Ausgabefunktionen hinzuzufügen. Die stream Bibliothek wird in Zeile 2 in unser Programm eingebunden.
Der Operator << bewirkt, daß die Variable oder Konstante, die direkt auf den Operator folgt, ausgegeben wird, überläßt es aber dem System zu entscheiden, wie dies geschehen soll. In Zeile 17 weisen wir das System zuerst an, die Zeichenkette auszugeben. Dies passiert, indem die einzelnen Buchstaben auf den Bildschirm kopiert werden. Danach soll das System den Wert von meinIndex ausgeben. Beachte aber, daß wir dem System keinerlei Angaben darüber machen, welchen Typs meinIndex ist oder wie der Wert ausgegeben werden soll. Daher liegt es am System, festzustellen, was für eine Variable bzw. Konstante meinIndex ist und den Wert dementsprechend auszugeben. Nachdem das System den Typ herausgefunden hat, überlassen wir es ihm auch, den Standardwert dafür zu verwenden, wieviele Zeichen ausgegeben werden sollen. In diesem Fall wählt das System genau so viele Zeichen wie für die Ausgabe notwendig sind ohne etwaige voran- oder nachgestellte Leerzeichen, also genau, was wir für diese Ausgabe wollen. Schlußendlich wird noch der Zeilensprung als eine Zeichenkette mit nur einem Zeichen ausgegeben, und die Zeile mit einem Strichpunkt abgeschlossen.
Beim Aufruf der cout Ausgabefunktion in Zeile 17 haben wir eigentlich zwei verschiedene Funktionen aufgerufen, da wir sie sowohl für die zwei Zeichenketten als auch für die Variable vom Typ int verwendet haben. Dies ist der erste Hinweis auf objektorientiertes Programmieren, wir fordern vom System einfach, einen Wert auszugeben und überlassen dem System die Suche nach der passenden Funktion. Es ist nicht notwendig, dem System genau mitzuteilen, wie die Daten auszugeben sind, sondern nur, daß sie auszugeben sind. Das ist ein schwaches Beispiel für objektorientiertes Programmieren und wir werden das an anderer Stelle in dieser Einführung mit wesentlich mehr Tiefgang behandeln.
In Zeile 18 lassen wir das System eine andere Zeichenkette ausgeben, gefolgt von einer Fließkommazahl und einer weiteren Zeichenkette, die aus einem Zeichen besteht, nämlich dem Zeilenvorschub. In diesem Fall haben wir das System angewiesen, eine Fließkommazahl auszugeben ohne zusätzliche Angaben über den Variablentyp zu machen und lassen das System wiederum über die richtige Ausgabefunktion, die sich am Variablentyp orientiert, entscheiden. Mit diesem Prozeß haben wir ein wenig an Kontrolle verloren, da wir nicht entscheiden konnten, wie viele Zeichen vor oder nach dem Komma auszugeben sind. Wir haben uns dafür entschieden, das System entscheiden zu lassen, wie die Ausgabe erfolgen soll.
Die Variable mit dem Namen Buchstabe hat den Variablentyp char und ihr wird in Zeile 14 der Wert X zugewiesen. In Zeile 19 wird sie dann als Buchstabe ausgegeben, da das cout Objekt weiß, daß es sich um einen Buchstaben handelt und die Variable entsprechend ausgibt.
Da C++ weitere Operatoren und Funktionen für Zeichenketten bereithält, sind die Ausgabefunktionen für Zeichenketten sehr flexibel. Bitte schlag in der Dokumentation Deines Compilers die Details weiterer Formatierungsmöglichkeiten nach. Die cout und printf() Funktionen können nebeneinander verwendet werden, was höchstwahrscheinlich auch Teil des ANSI-C++ Standard sein wird. Allerdings halten sich noch nicht alle Compiler an diesen Standard und manche verwenden verschiedene Formen der Zwischenspeicherung für diese zwei Möglichkeiten der Ausgabe. Das führt unter Umständen zu "wirren" Ausgaben, aber Du kannst dies einfach dadurch korrigieren, daß Du Dich für eine der beiden Formen, entweder cout oder printf() entscheidest.
Copyright © 1997, 1998, 2001-2006 Heinz Tschabitscher - Letzte Änderung 7. Dezember 2005
Heinz Tschabitscher - | Datenschutz | Impressum - Kommentare, Kritik, Anregungen, Kochrezepte?