C++ Funktionen mit Programmbeispielen

Was ist eine Funktion in C++?

A Funktion in C++ bezieht sich auf eine Gruppe von Anweisungen, die Eingaben entgegennehmen, verarbeiten und eine Ausgabe zurückgeben. Die Idee hinter einer Funktion besteht darin, häufige Aufgaben zu kombinieren, die wiederholt ausgeführt werden. Wenn Sie unterschiedliche Eingaben haben, schreiben Sie nicht erneut denselben Code. Sie rufen die Funktion einfach mit einem anderen Datensatz auf, den sogenannten Parametern.

. C++ Programm hat mindestens eine Funktion, die main()-Funktion. Sie können Ihren Code in verschiedene Funktionen aufteilen. Diese Aufteilung sollte so erfolgen, dass jede Funktion eine bestimmte Aufgabe erfüllt.

Es gibt viele integrierte Funktionen im C++ Standardbibliothek. Sie können diese Funktionen innerhalb Ihres Programms aufrufen.

Warum Funktionen verwenden?

Mit der Nutzung von Funktionen sind zahlreiche Vorteile verbunden. Diese beinhalten:

  • Jede Funktion fügt zugehörigen Code zusammen. Dadurch wird es für Programmierer einfacher, Code zu verstehen.
  • Funktionen erleichtern die Programmierung, indem sie Codewiederholungen eliminieren.
  • Funktionen erleichtern die Wiederverwendung von Code. Sie können dieselbe Funktion aufrufen, um eine Aufgabe in verschiedenen Abschnitten des Programms oder sogar außerhalb des Programms auszuführen.

Eingebaute Funktionen

In C++ Bibliotheksfunktionen sind integriert C++ Funktionen. Um diese Funktionen zu verwenden, rufen Sie sie einfach direkt auf. Sie müssen die Funktionen nicht selbst schreiben.

Beispiel 1:

#include <iostream>
#include <cmath>
using namespace std;
int main() {
	double num, squareRoot;
	cout << "Enter number: ";
	cin >> num;
	squareRoot = sqrt(num);
	cout << "The square root of " << num << " is: " << squareRoot;
	return 0;
}

Ausgang:

Eingebaute Funktionen

Hier ist ein Screenshot des Codes:

Eingebaute Funktionen

Code-Erklärung:

  1. Fügen Sie die iostream-Header-Datei in unser Programm ein, um deren Funktionen zu nutzen.
  2. Binden Sie die cmath-Bibliothek ein, um ihre Funktionen zu nutzen. Wir wollen die darin definierte Funktion sqrt() verwenden.
  3. Fügen Sie den std-Namespace in unseren Code ein, um seine Klassen zu verwenden, ohne ihn aufzurufen.
  4. Rufen Sie die Funktion main() auf. Die Programmlogik sollte im Hauptteil dieser Funktion hinzugefügt werden.
  5. Deklarieren Sie zwei Double-Variablen: Num und SquareRoot.
  6. Drucken Sie einen Text auf der Konsole. Der Text fordert den Benutzer auf, eine Zahl einzugeben.
  7. Lesen Sie Benutzereingaben von der Tastatur. Die Eingabe wird zum Wert der Variablen num.
  8. Rufen Sie die Bibliotheksfunktion sqrt() auf, die die Quadratwurzel einer Zahl berechnet. Wir haben der Funktion den Parameter num übergeben, was bedeutet, dass sie die Quadratwurzel von num berechnet. Diese Funktion ist in der cmath-Bibliothek definiert.
  9. Drucken Sie die vom Benutzer eingegebene Zahl, ihre Quadratwurzel und einen anderen Text auf der Konsole aus.
  10. Das Programm muss bei erfolgreichem Abschluss einen Wert zurückgeben.
  11. Ende des Hauptteils der main()-Funktion.

Benutzerdefinierte Funktionen

C++ ermöglicht es Programmierern, eigene Funktionen zu definieren. Der Zweck der Funktion besteht darin, zusammengehörigen Code zu gruppieren. Der Code erhält dann eine eindeutige Kennung, den Funktionsnamen.

Die Funktion kann von jedem anderen Teil des Programms aus aufgerufen/aufgerufen werden. Anschließend führt es den in seinem Hauptteil definierten Code aus.

Beispiel 2:

#include <iostream>
using namespace std;

void sayHello() {
	cout << "Hello!";
}

int main() {

	sayHello();

	return 0;
}

Ausgang:

Benutzerdefinierte Funktionen

Hier ist ein Screenshot des Codes:

Benutzerdefinierte Funktionen

Code-Erklärung:

  1. Fügen Sie die iostream-Header-Datei in unser Programm ein, um deren Funktionen zu nutzen.
  2. Fügen Sie den std-Namespace in unseren Code ein, um seine Klassen zu verwenden, ohne ihn aufzurufen.
  3. Erstellen Sie eine benutzerdefinierte Funktion mit dem Namen sayHello().
  4. Geben Sie Text auf der Konsole aus, wenn die Funktion sayHello() aufgerufen wird.
  5. Ende des Hauptteils der Funktion sayHello().
  6. Rufen Sie die Funktion main() auf. Die Programmlogik sollte im Hauptteil dieser Funktion hinzugefügt werden.
  7. Rufen Sie die Funktion sayHello() auf.
  8. Das Programm muss bei erfolgreichem Abschluss einen Wert zurückgeben.
  9. Ende des Hauptteils der main()-Funktion.

Funktionsdeklaration/Prototyp

Wenn Sie nach der Funktion main() eine benutzerdefinierte Funktion definieren, wird die C++ Compiler gibt einen Fehler zurück. Der Grund dafür ist, dass der Compiler die Details der benutzerdefinierten Funktion nicht kennt. Zu den Details gehören ihr Name, die Argumenttypen und ihre Rückgabetypen.

In C++, die Funktionsdeklaration/der Prototyp deklariert eine Funktion ohne Hauptteil. Dies gibt dem Compiler Details der benutzerdefinierten Funktion.

Funktionsdeklaration/Prototyp

In die Deklaration/den Prototyp schließen wir den Rückgabetyp, den Funktionsnamen und die Argumenttypen ein. Die Namen der Argumente werden nicht hinzugefügt. Das Hinzufügen der Argumentnamen erzeugt jedoch keinen Fehler.

Funktionsdefinition

Der Zweck der Funktionsdeklaration besteht darin, dem C++ Compiler über den Funktionsnamen, den Rückgabetyp und die Parameter. Eine Funktionsdefinition informiert den C++ Compiler über den Funktionskörper.

Funktionsdefinition/Prototyp

Syntax

return_datatype function_name( parameters) {
   function body 
}

Aus dem Obigen geht hervor, dass eine Funktionsdefinition den Funktionskopf und -körper hat. Hier eine Erklärung der Parameter:

  • return_datatype – Einige Funktionen geben einen Wert zurück. Dieser Parameter bezeichnet den Datentyp des Rückgabewerts. Einige Funktionen geben keinen Wert zurück. In diesem Fall wird der Wert dieses Parameters ungültig.
  • Funktionsname – Dies ist der Name der Funktion. Der Funktionsname und die Parameter bilden die Funktionssignatur.
  • Parameter – Dies sind der Typ, die Reihenfolge und die Anzahl der Funktionsparameter. Einige Funktionen haben keine Parameter.
  • Funktionskörper – das sind Anweisungen, die definieren, was die Funktion tun wird.

Funktionsaufruf

Damit eine Funktion die angegebene Aufgabe ausführen und eine Ausgabe zurückgeben kann, muss sie aufgerufen werden. Wenn Sie eine Funktion aufrufen, führt sie die in ihrem Hauptteil hinzugefügten Anweisungen aus.

Funktionsaufruf

Ein Programm wird mit seinem Namen aufgerufen. Wenn die Funktion Parameter akzeptiert, sollten deren Werte beim Aufruf übergeben werden. Wenn der Dienst keine Parameter akzeptiert, übergeben Sie während des Aufrufs keinen Wert.

Übergeben von Argumenten

In C++, ein Argument/Parameter sind die Daten, die einer Funktion während ihres Aufrufs übergeben werden. Die Werte müssen mit ihren jeweiligen Variablen initialisiert werden.

Beim Aufruf einer Funktion müssen die Argumente zahlenmäßig übereinstimmen. Das bedeutet, dass die von Ihnen übergebenen Werte der Anzahl der Parameter entsprechen müssen. Auch hier müssen die Werte auch vom Typ her mit den Parametern übereinstimmen. Wenn der erste Parameter eine Ganzzahl ist, muss der an ihn übergebene Wert eine Ganzzahl sein.

Man kann Funktionsparametern Standardwerte zuweisen. Wenn Sie beim Funktionsaufruf keinen Wert für den Parameter übergeben, wird der Standardwert verwendet.

Beispiel 3: So schreiben und rufen Sie eine Funktion auf

#include <iostream>
using namespace std;
int addFunc(int, int);
int main() {
	int x, y, sum;
	cout << "Enter two numbers: ";
	cin >> x >> y;
	sum = addFunc(x, y);
	cout <<"The sum of "<<x<< " and " <<y<<" is: "<<sum;
	return 0;
}
int addFunc(int num1, int num2) {
	int addFunc;
	addFunc = num1 + num2;
	return addFunc;
}

Ausgang:

Übergeben von Argumenten

Hier ist ein Screenshot des Codes:

Übergeben von Argumenten

Code-Erklärung:

  1. Fügen Sie die iostream-Header-Datei in unser Programm ein, um deren Funktionen zu nutzen.
  2. Fügen Sie den std-Namespace in unseren Code ein, um seine Klassen zu verwenden, ohne ihn aufzurufen.
  3. Deklarieren Sie eine Funktion namens addFunc(), die zwei ganzzahlige Parameter akzeptiert. Dadurch wird der Funktionsprototyp erstellt.
  4. Rufen Sie die Funktion main() auf. Die Programmlogik sollte im Hauptteil dieser Funktion hinzugefügt werden.
  5. Deklarieren Sie drei ganzzahlige Variablen, x, y und sum.
  6. Drucken Sie einen Text auf der Konsole. Der Text fordert den Benutzer auf, zwei Zahlen einzugeben.
  7. Lesen Sie die Benutzereingaben von der Tastatur. Der Benutzer sollte zwei Zahlen für die Variablen x und y eingeben, getrennt durch ein Leerzeichen.
  8. Rufen Sie die Funktion addFunc() auf und übergeben Sie ihr die Parameter x und y. Die Funktion verarbeitet diese Parameter und weist die Ausgabe der Variablen sum zu.
  9. Geben Sie die Werte der Variablen x, y und sum zusammen mit anderem Text auf der Konsole aus.
  10. Die Funktion muss nach erfolgreichem Abschluss einen Wert zurückgeben.
  11. Ende des Hauptteils der main()-Funktion.
  12. Funktionsdefinition. Wir definieren die Funktion addFunc(). Wir werden angeben, was die Funktion in ihrem Körper, dem {}, tun wird.
  13. Deklarieren einer Ganzzahlvariablen namens addFunc.
  14. Addieren der Werte der Parameter num1 und num2 und Zuweisen des Ergebnisses zur Variablen addFunc.
  15. Die Funktion addFunc() sollte den Wert der Variablen addFunc zurückgeben.
  16. Ende des Funktionskörpers, also der Funktionsdefinition.

Zusammenfassung

  • Eine Funktion in C++ hilft Ihnen, verwandten Code zu einem zu gruppieren.
  • Funktionen erleichtern die Wiederverwendung von Code.
  • Anstatt immer wieder ähnlichen Code zu schreiben, gruppieren Sie ihn einfach in einer Funktion. Sie können die Funktion dann von überall im Code aufrufen.
  • Funktionen können bibliotheks- oder benutzerdefiniert sein.
  • Bibliotheksfunktionen sind verschiedene integrierte Funktionen C++ Funktionen.
  • Um Bibliotheksfunktionen zu verwenden, fügen Sie einfach die Definitionsbibliothek ein und rufen die Funktion auf. Sie definieren die Funktion nicht.
  • Benutzerdefinierte Funktionen sind die Funktionen, die Sie als C++ Programmierer.
  • Eine Funktionsdeklaration informiert den Compiler über den Funktionsnamen, den Rückgabetyp und die Parametertypen.
  • Eine Funktionsdefinition fügt den Hauptteil der Funktion hinzu.
  • Wenn eine Funktion Parameter akzeptiert, sollten deren Werte beim Funktionsaufruf übergeben werden.