Funktionen enthalten Programmcode, der dem Programm eine bestimmte Funktionalität verleiht. Wird eine Funktion vom Hauptprogramm aufgerufen werden die darin enthaltenen Befehle ausgeführt. Optional kann nach der Ausführung ein Wert zurückgegeben werden. Die Verwendung einer Funktion hat diese Vorteile:
- Eine Funktion macht den Programmcode einfacher und übersichtlicher.
- Getestete Funktionen können in anderen Programmen verwendet werden.
- Große Projekte lassen sich durch Funktionen unterteilen. Das vermindert die Arbeitslast der Programmierer.
An eine Funktion übergebene Werte werden Parameter genannt, allerdings kann eine Funktion maximal einen Rückgabewert haben. Für die Funktionsnamen gelten die gleichen Regeln wie für Variablen.
Grundelemente einer Funktion
Im Grunde genommen besteht ein C++ Programm aus einer einzigen main-Funktion von der aus andere Funktionen oder Anweisungen aufgerufen und abgearbeitet werden. Außerdem stellt die Programmiersprache viele Hundert fertige Funktionen in den Bibliotheken zu Verfügung. Da der Compiler immer nur eine Datei übersetzen kann, werden diese Funktionen vor dem Kompilieren durch den Befehl #include am Anfang des Programmes eingefügt.
[sc name=“adsense_InText_ad“]
Für einen Programmierer ist es jedoch auch wichtig, eigene Funktionen zu schreiben. Dadurch wird der Quelltext eines Programms in logischen Einheiten (Funktionen) organisiert, die jeweils einzelne und überschaubare Aufgaben durchführen. Um eine eigene Funktion wie die aus der Funktionsbibliothek verwenden zu können, muss diese vorher definiert und deklariert werden.
Der Funktions-Prototyp
Jede Funktion muss einen Prototypen haben der den Namen der Funktion enthält und angibt, welche Art von Information die Funktion erwartet und welchen Datentyp sie zurückgibt. Allerdings muss eine Funktion nicht immer einen Wert zurückgeben. Die allgemeine Syntax einer Funktions-Deklaration lautet:
Rückgabe-Datentyp Funktionsname (Datentyp der Parameter);
oder am Beispiel einer Funktion mit dem Namen „steuer“, die einen float-Wert zurückgibt und ihrerseits zwei float-Werte erwartet:
float steuer (float, float);
Gibt eine Funktion keinen Wert zurück, wird sie Prozedur genannt und als void deklariert. In diesem Fall sollten Sie vermeiden, das Resultat des Funktionsaufrufs einer Variablen zuzuweisen. Steht in der Parameterliste das Wort void oder eine leere Klammer bedeutet das, dass die Funktion keine Parameter hat (Beispiel: int main()). Parameter mit voreingestellten Werten, stehen am Ende der Parameterliste:
float summe (float x, float y = 0.0)
Für die Namen der Funktionen gelten die gleichen Regeln wie für Variablennamen. Eine Funktion kann beliebig viele Eingabewerte (Parameter), aber nur einen Rückgabewert besitzen. Es empfiehlt sich, bei allen Projekten mit Prototypen zu arbeiten.
Dieser Artikel ist Teil unseres kostenlosen Workshops “C++ Programmieren lernen” – Geeignet für Einsteiger und Fortgeschrittene. Machen auch Sie mit und lernen Sie in 50 Artikeln, wie Sie Programme selbst schreiben!
Artikelbild: Fotolia / bramgino