C ++ - Funktion (mit Beispielen)

In diesem Tutorial lernen wir anhand von Beispielen die C ++ - Funktion und Funktionsausdrücke kennen.

Eine Funktion ist ein Codeblock, der eine bestimmte Aufgabe ausführt.

Angenommen, wir müssen ein Programm erstellen, um einen Kreis zu erstellen und ihn einzufärben. Wir können zwei Funktionen erstellen, um dieses Problem zu lösen:

  • eine Funktion zum Zeichnen des Kreises
  • eine Funktion zum Färben des Kreises

Die Aufteilung eines komplexen Problems in kleinere Teile macht unser Programm leicht verständlich und wiederverwendbar.

Es gibt zwei Arten von Funktionen:

  1. Standardbibliotheksfunktionen: In C ++ vordefiniert
  2. Benutzerdefinierte Funktion: Erstellt von Benutzern

In diesem Tutorial konzentrieren wir uns hauptsächlich auf benutzerdefinierte Funktionen.

C ++ Benutzerdefinierte Funktion

Mit C ++ kann der Programmierer seine eigene Funktion definieren.

Eine benutzerdefinierte Funktion gruppiert Code, um eine bestimmte Aufgabe auszuführen, und diese Codegruppe erhält einen Namen (Bezeichner).

Wenn die Funktion von einem beliebigen Teil des Programms aus aufgerufen wird, führt sie alle die im Hauptteil der Funktion definierten Codes aus.

C ++ - Funktionsdeklaration

Die Syntax zum Deklarieren einer Funktion lautet:

 returnType functionName (parameter1, parameter2,… ) ( // function body )

Hier ist ein Beispiel für eine Funktionsdeklaration.

 // function declaration void greet() ( cout << "Hello World"; )

Hier,

  • Der Name der Funktion lautet greet()
  • Der Rückgabetyp der Funktion ist void
  • Die leeren Klammern bedeuten, dass keine Parameter vorhanden sind
  • Der Funktionskörper ist darin geschrieben ()

Hinweis: Wir werden mehr über returnTypeund parametersspäter in diesem Tutorial erfahren .

Eine Funktion aufrufen

Im obigen Programm haben wir eine Funktion mit dem Namen deklariert greet(). Um die greet()Funktion nutzen zu können, müssen wir sie aufrufen.

So können wir die obige greet()Funktion aufrufen .

 int main() ( // calling a function greet(); )
Funktionsweise von Function in C ++

Beispiel 1: Text anzeigen

 #include using namespace std; // declaring a function void greet() ( cout << "Hello there!"; ) int main() ( // calling the function greet(); return 0; )

Ausgabe

 Hallo!

Funktionsparameter

Wie oben erwähnt, kann eine Funktion mit Parametern (Argumenten) deklariert werden. Ein Parameter ist ein Wert, der beim Deklarieren einer Funktion übergeben wird.

Betrachten wir zum Beispiel die folgende Funktion:

 void printNum(int num) ( cout << num; )

Hier ist die intVariable num der Funktionsparameter.

Wir übergeben dem Funktionsparameter einen Wert, während wir die Funktion aufrufen.

 int main() ( int n = 7; // calling the function // n is passed to the function as argument printNum(n); return 0; )

Beispiel 2: Funktion mit Parametern

 // program to print a text #include using namespace std; // display a number 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; // calling the function displayNum(num1, num2); return 0; )

Ausgabe

 Die int-Nummer ist 5 Die doppelte Nummer ist 5.5

Im obigen Programm haben wir eine Funktion verwendet, die einen intParameter und einen doubleParameter hat.

Wir übergeben dann num1 und num2 als Argumente. Diese Werte werden durch die Funktionsparameter n1 bzw. n2 gespeichert.

C ++ - Funktion mit Parametern

Hinweis: Der Typ der beim Aufrufen der Funktion übergebenen Argumente muss mit den entsprechenden in der Funktionsdeklaration definierten Parametern übereinstimmen.

Rückgabeerklärung

In den obigen Programmen haben wir void in der Funktionsdeklaration verwendet. Beispielsweise,

 void displayNumber() ( // code )

Dies bedeutet, dass die Funktion keinen Wert zurückgibt.

Es ist auch möglich, einen Wert von einer Funktion zurückzugeben. Dazu müssen wir returnTypedie Funktion während der Funktionsdeklaration angeben .

Dann kann die returnAnweisung verwendet werden, um einen Wert von einer Funktion zurückzugeben.

Beispielsweise,

 int add (int a, int b) ( return (a + b); )

Hier haben wir den Datentyp intanstelle von void. Dies bedeutet, dass die Funktion einen intWert zurückgibt .

Der Code return (a + b);gibt die Summe der beiden Parameter als Funktionswert zurück.

Die returnAnweisung zeigt an, dass die Funktion beendet wurde. Code returninnerhalb der Funktion wird nicht ausgeführt.

Beispiel 3: Fügen Sie zwei Zahlen hinzu

 // program to add two numbers using a function #include using namespace std; // declaring a function int add(int a, int b) ( return (a + b); ) int main() ( int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; )

Ausgabe

 100 + 78 = 178

Im obigen Programm wird die add()Funktion verwendet, um die Summe von zwei Zahlen zu finden.

Wir übergeben zwei intLiterale 100und 78rufen die Funktion auf.

Wir speichern den zurückgegebenen Wert der Funktion in der variablen Summe und drucken ihn dann aus.

Arbeiten der C ++ - Funktion mit return-Anweisung

Beachten Sie, dass sum eine Variable vom intTyp ist. Dies liegt daran, dass der Rückgabewert von add()vom intTyp ist.

Funktionsprototyp

In C++, the code of function declaration should be before the function call. However, if we want to define a function after the function call, we need to use the function prototype. For example,

 // function prototype void add(int, int); int main() ( // calling the function before declaration. add(5, 3); return 0; ) // function definition void add(int a, int b) ( cout << (a + b); )

In the above code, the function prototype is:

 void add(int, int);

This provides the compiler with information about the function name and its parameters. That's why we can use the code to call a function before the function has been defined.

The syntax of a function prototype is:

 returnType functionName(dataType1, dataType2,… );

Example 4: C++ Function Prototype

 // using function definition after main() function // function prototype is declared before main() #include using namespace std; // function prototype int add(int, int); int main() ( int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; ) // function definition int add(int a, int b) ( return (a + b); )

Output

 100 + 78 = 178

The above program is nearly identical to Example 3. The only difference is that here, the function is defined after the function call.

That's why we have used a function prototype in this example.

Benefits of Using User-Defined Functions

  • Functions make the code reusable. We can declare them once and use them multiple times.
  • Functions make the program easier as each small task is divided into a function.
  • Functions increase readability.

C++ Library Functions

Library functions are the built-in functions in C++ programming.

Programmers can use library functions by invoking the functions directly; they don't need to write the functions themselves.

Some common library functions in C++ are sqrt(), abs(), isdigit(), etc.

In order to use library functions, we usually need to include the header file in which these library functions are defined.

For instance, in order to use mathematical functions such as sqrt() and abs(), we need to include the header file cmath.

Example 5: C++ Program to Find the Square Root of a Number

 #include #include using namespace std; int main() ( double number, squareRoot; number = 25.0; // sqrt() is a library function to calculate the square root squareRoot = sqrt(number); cout << "Square root of " << number << " = " << squareRoot; return 0; )

Output

 Quadratwurzel von 25 = 5

In diesem Programm wird die sqrt()Bibliotheksfunktion verwendet, um die Quadratwurzel einer Zahl zu berechnen.

Die Funktionsdeklaration von sqrt()wird in der cmathHeader-Datei definiert. Deshalb müssen wir den Code verwenden #include , um die sqrt()Funktion zu verwenden.

Weitere Informationen finden Sie unter Funktionen der C ++ Standard Library.

Interessante Beiträge...