C++ Tutorial für Einsteiger (Teil 2)
Zu Teil 1 des C++-Tutorials: Grundlagen von C++ und Compiler
Teil 2 des C++-Tutorials: Das erste C++-Programm
Zu Teil 3 des C++-Tutorials: Variablen, Ausdrücke und Ablaufsteuerung in C++
Zu Teil 4 des C++-Tutorials: Funktionen in C++
Ein erstes C++-Programm
Um eine Programmiersprache zu lernen, bietet es sich oft an, ein sehr einfaches Programm zu betrachten und dann anhand dieses Programmcodes grundlegende Elemente der Sprache kennen zu lernen. Das geschieht im Rahmen eines Tutorials für gewöhnlich mit dem sogenannten „Hallo Welt“ – Programm. Das ist ein Programm, das einfach den Text „Hallo Welt“ ausgibt und sich danach beendet. Im folgenden sehen wir das „Hallo Welt“-Programm in C++.
#include <iostream> using namespace std; int main() { cout << "Hallo Welt"; return 0; }
Dieses erste C++-Programm, das wir in diesem Tutorial sehen, beginnt mit einer sogenannten Präprozessoranweisung. Was das ist? Nun, bevor eine C++-Quelltextdatei von einem Compiler in Maschinencode übersetzt wird, wird der Präprozessor aktiv. Dieser durchsucht den C++-Quellcode nach bestimmten Anweisungen: eben den Präprozessordirektiven. Eine Präprozessordirektive beginnt immer mit dem #-Zeichen. Je nach Direktive wird dann eine bestimmte Aktion durchgeführt.
In diesem Fall ist es die Präprozessoranweisung include. Diese bewirkt, dass nach der angegebenen Datei (iostream) gesucht wird und der Inhalt dieser Datei an die Stelle der Direktive kopiert wird. Man verwendet die include-Direktive also in C++ dafür, um Funktionen aus anderen Bibliotheken einzubinden. In diesem Fall ist es die iostream-Bibliothek - io steht in dem Fall für "input-output", sie beinhaltet also Objekte und Funktionen, die zum Einlesen von Eingaben und zur Ausgabe auf dem Bildschirm benötigt werden. iostream ist eine grundlegende C++-Bibliothek die in vielen Programmen verwendet wird.
Danach folgt eine Zeile using namespace std; Hierbei wird ein Namensraum für das Programm festgelegt. Was das bedeutet? Nun, in einem C++-Programm gibt es, wie wir später noch sehen werden, viele Variablen. Den Variablen können wir beliebige Namen geben, jede Variable muss jedoch einen eindeutigen Namen haben innerhalb ihres Gültigkeitsbereiches. Um nun Variablen, die jedoch den gleichen Namen haben, zu unterscheiden, gibt es in C++ Namensräume: wenn Variablen in unterschiedlichen Namensräumen liegen, können sie auch den gleichen Namen haben, da sie durch den Namensraum unterschieden werden können.
Das mag nun etwas verwirrend wirken, die gute Nachricht ist aber, dass Sie im Rahmen ihrer C++-Programmierung vermutlich nur sehr wenig mit diesem Konzept zu tun haben werden. In der Regel wird Ihre einzige Berührung mit Namensräumen eben diese sein, dass Sie an den Beginn einer Quelldatei eben diese Codezeile schreiben. Diese bewirkt, dass der Namensraum std im folgenden Programm verwendet wird. std steht dabei für Standard. Damit können Sie jetzt im Programm alle Variablen verwenden, die im Standard-Namensraum liegen und müssen sich darüber keine weiteren Gedanken mehr machen.
Programmieren mit C++ - Einige unserer Empfehlungen
Nun aber weiter im C++-Programm und unserem Tutorial. Wir kommen jetzt an die interessante Stelle. Was nun folgt ist das sogenannte Hauptprogramm. Was Funktionen generell sind, damit werden wir uns später noch in diesem Tutorial befassen. Hier sehen wir aber nun eine Sonderform von Funktionen, nämlich die Hauptfunktion main. Jedes C++-Programm hat genau eine Hauptfunktion und beim Programmstart beginnt die Ausführung immer in der Hauptfunktion und arbeitet alle Anweisungen nacheinander ab. Wenn alle Anweisungen des Hauptprogrammes abgearbeitet sind, wird das C++-Programm beendet (man spricht hierbei von "terminieren").
Das Hauptprogramm wird dabei nach dem folgenden Schema definiert:
int main() { Anweisung 1; Anweisung 2; ... }
int ist der Rückgabetyp. Das bedeutet, wenn eine Funktion beendet wird, kann sie einen Wert an die aufrufende Stelle zurückgeben. In C++ gibt es verschiedene Datentypen, mit denen wir uns später in diesem Tutorial noch befassen werden und int steht für Integer und bedeutet Ganzzahl. Die Hauptfunktion gibt also am Ende eine Ganzzahl zurück. Aber wohin? Nun, da die Hauptfunktion direkt vom Betriebssystem aufgerufen wird, landet der zurückgegebene Wert dann auch wieder dort. Für das Programm selber spielt es also keine Rolle, welcher Wert zurückgegeben wird.
main ist der Name der Hauptfunktion in C++. Das ist wie bereits erwähnt so festgelegt, d.h. die Hauptfunktion heißt immer main. Danach folgt ein einfaches Klammerpaar (). Innerhalb des Klammerpaares können bei einer Funktion Parameter übergeben werden. Die Hauptfunktion benötigt in diesem Fall keine Parameter, daher ist nichts zwischen den beiden Klammern enthalten.
Danach sehen wir eine öffnende geschweifte Klammer. Am Ende des Programmes finden wir eine schließende geschweifte Klammer. Geschweifte Klammern werden in C++ sehr oft verwendet, nämlich immer um zusammenhängende Blöcke zu markieren. Alles was innerhalb der öffnenden und der schließenden geschweiften Klammer liegt gehört also zur Hauptfunktion.
Die Hauptfunktion selbst in unserem Beispiel besteht aus 2 C++-Anweisungen. Zunächst mal die Anweisung
cout << "Hallo Welt";
cout ist ein Ausgabeobjekt. Dieses Objekt wird immer dann benutzt, wenn eine Ausgabe auf der Kommandozeile gemacht wird. Doch wo kommt dieses Objekt her? Nun, das wird in der iostream-Bibliothek bereit gestellt. Und diese hatten wir ja bekanntlich ganz am Beginn des C++-Programmes eingebunden. Daher können wir nun dieses Objekt aus iostream verwenden. Danach folgt der Operator <<. Dieser Operator bedeutet soviel wie "sende an". In diesem Fall hieße das dann also "Sende die Zeichenkette 'Hallo Welt' an das Ausgabeobjekt." Und das bewirkt dann, na klar, dass diese Zeichenkette eben auf der Kommandozeile ausgegeben wird. [PrintBadge sprache="c++" no="2"] Nun finden wir nur noch eine einzige weitere Anweisung im Programm. Eben die return-Anweisung. Diese bewirkt allgemein bei einer Funktion, dass ein Wert oder ein Objekt gemäß des Rückgabetypes an die aufrufende Stelle zurück gegeben wird (in diesem Fall das Betriebssystem). Wir geben hier den Wert 0 zurück, was einfach aussagen soll, dass das Programm korrekt abgelaufen ist und nun wunschgemäß beendet wird. Weiter geht es in Teil 3 des Tutorials mit den Kernelementen der Programmiersprache C++.
Zu Teil 1 des C++-Tutorials: Grundlagen von C++ und Compiler
Teil 2 des C++-Tutorials: Das erste C++-Programm
Zu Teil 3 des C++-Tutorials: Variablen, Ausdrücke und Ablaufsteuerung in C++
Zu Teil 4 des C++-Tutorials: Funktionen in C++
Eine ausführliche Liste unserer Buchempfehlungen für C++ finden Sie hier.
Unsere Buchempfehlungen
Oder sehen Sie sich die vollständige Liste der Empfehlungen für C++ an.Wir haben auch eine Empfehlung für einen C++-Fernkurs parat.