C++-Funktionen meistern: Von den Grundlagen bis zur fortgeschrittenen Nutzung
C++-Funktionen meistern
Dieses Tutorial führt Sie durch die Grundlagen von C++-Funktionen – einschließlich benutzerdefinierter Funktionen, Prototypen, Parametern, Rückgabetypen und integrierten Bibliotheksfunktionen – mit klaren, realen Beispielen.
Eine Funktion ist ein in sich geschlossener Codeblock, der eine bestimmte Aufgabe ausführt. Durch die Aufteilung komplexer Probleme in kleinere, wiederverwendbare Funktionen verbessern Sie Lesbarkeit, Wartbarkeit und Testbarkeit.
In C++ begegnen Sie zwei Kategorien von Funktionen:
- Standardbibliotheksfunktionen – vordefiniert von der Sprache (z. B.
sqrt(),abs()). - Benutzerdefinierte Funktionen – von Ihnen geschrieben, um benutzerdefinierte Logik zu kapseln.
Wir konzentrieren uns auf benutzerdefinierte Funktionen und behandeln ihre Syntax, Aufruf und Best Practices.
Benutzerdefinierte Funktionen in C++
C++ lässt Sie Funktionen mit einer klaren Signatur definieren: Rückgabetyp, Name und optionale Parameter.
Funktionsdeklarations-Syntax
returnType functionName(parameter1, parameter2, ...)
{
// function body
}
Beispiel: void greet() gibt eine Begrüßung aus. Die leeren Klammern zeigen keine Parameter an.
// Funktionsdeklaration
void greet()
{
cout << "Hello World";
}
Wichtige Punkte:
- Funktionsname:
greet() - Rückgabetyp:
void(kein Wert zurückgegeben) - Parameter: keine (leere Klammern)
- Körper: Code innerhalb von
{}
Hinweis: Rückgabetypen und Parameter werden später untersucht.
Eine Funktion aufrufen
Um greet() zu verwenden, rufen Sie es einfach dort auf, wo es benötigt wird.
int main()
{
greet();
}

Beispiel 1: Text anzeigen
#include <iostream>
using namespace std;
void greet()
{
cout << "Hello there!";
}
int main()
{
greet();
return 0;
}
Ausgabe
Hello there!
Funktionsparameter
Parameter sind Platzhalter für Werte, die an eine Funktion übergeben werden.
void printNum(int num)
{
cout << num;
}
Beim Aufrufen von printNum ein Argument bereitstellen:
int main()
{
int n = 7;
printNum(n);
return 0;
}
Beispiel 2: Funktion mit mehreren Parametern
#include <iostream>
using namespace std;
void displayNum(int n1, float n2)
{
cout << "The int number is " << n1;
cout << "The double number is " << n2;
}
int main()
{
int num1 = 5;
double num2 = 5.5;
displayNum(num1, num2);
return 0;
}
Ausgabe
The int number is 5 The double number is 5.5
Stellen Sie sicher, dass Argumenttypen den deklarierten Parametern entsprechen.

Return-Anweisungen
Funktionen können Werte zurückgeben. Geben Sie den Rückgabetyp an und verwenden Sie return, um das Ergebnis bereitzustellen.
int add(int a, int b)
{
return a + b;
}
add aufrufen und das Ergebnis speichern:
int sum = add(100, 78);
cout << "100 + 78 = " << sum << endl;
Beispiel 3: Zwei Zahlen addieren
#include <iostream>
using namespace std;
int add(int a, int b)
{
return a + b;
}
int main()
{
int sum = add(100, 78);
cout << "100 + 78 = " << sum << endl;
return 0;
}
Ausgabe
100 + 78 = 178
Funktionsprototypen
Wenn eine Funktion nach ihrer ersten Verwendung definiert wird, informiert ein Prototyp den Compiler über ihre Signatur.
// Prototyp
void add(int, int);
int main()
{
add(5, 3);
return 0;
}
// Definition
void add(int a, int b)
{
cout << (a + b);
}
Prototyp-Syntax:
returnType functionName(paramType1, paramType2, ...);
Beispiel 4: Prototyp verwenden
#include <iostream>
using namespace std;
int add(int, int);
int main()
{
int sum = add(100, 78);
cout << "100 + 78 = " << sum << endl;
return 0;
}
int add(int a, int b)
{
return a + b;
}
Ausgabe
100 + 78 = 178
Vorteile benutzerdefinierter Funktionen
- Kapselung: Verwandten Code in einen einzelnen, wiederverwendbaren Block gruppieren.
- Lesbarkeit: Komplexe Logik in beschreibende Funktionen aufteilen.
- Wartbarkeit: Logik an einer Stelle aktualisieren, ohne jeden Aufruf anzufassen.
- Testbarkeit: Funktionalität für Unit-Tests isolieren.
Standardbibliotheksfunktionen
Die C++-Standardbibliothek bietet eine Fülle von fertigen Funktionen, die häufige Aufgaben vereinfachen. Beispiele sind sqrt(), abs() und isdigit().
Um eine Bibliotheksfunktion zu verwenden, inkludieren Sie den Header, in dem sie deklariert ist. Für mathematische Operationen bringt #include <cmath> sqrt(), pow() etc. ein.
Beispiel 5: Quadratwurzel berechnen
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double number = 25.0;
double squareRoot = sqrt(number);
cout << "Square root of " << number << " = " << squareRoot;
return 0;
}
Ausgabe
Square root of 25 = 5
Die Deklaration der sqrt()-Funktion befindet sich im cmath-Header, weshalb die #include <cmath>-Direktive erforderlich ist.
Für einen tieferen Einblick in C++-Bibliotheksfunktionen siehe die C++ Standard Library Referenz.
C Sprache
- C++-Operatoren meistern: Ein vollständiger Leitfaden mit praktischen Beispielen
- C++-Kommentare: Best Practices für lesbaren, wartbaren Code
- Arrays an Funktionen in C++ übergeben: Ein praktischer Leitfaden
- C++ Friend-Funktionen und Friend-Klassen: Zugriffskontrolle meistern
- 10 wesentliche Insight-Features zur Optimierung des Stratasys FDM-Drucks
- C++ Operator‑Overloading: Praktischer Leitfaden mit Code‑Beispielen
- Python Lambda-Funktionen meistern: Praxisbeispiele & Best Practices
- Verilog Functions meistern für effizientes RTL-Design
- C-Funktionen meistern: Struktur, Deklaration & Best Practices
- C++ Overloading: Funktionen & Operatoren erklärt