C ++ - funktion (med exempel)

I den här handledningen lär vi oss om C ++ - funktionen och funktionsuttryck med hjälp av exempel.

En funktion är ett kodblock som utför en specifik uppgift.

Antag att vi måste skapa ett program för att skapa en cirkel och färga den. Vi kan skapa två funktioner för att lösa detta problem:

  • en funktion för att rita cirkeln
  • en funktion för att färga cirkeln

Att dela upp ett komplext problem i mindre bitar gör vårt program lätt att förstå och återanvändas.

Det finns två typer av funktioner:

  1. Standardbiblioteksfunktioner: Fördefinierad i C ++
  2. Användardefinierad funktion: Skapad av användare

I denna handledning fokuserar vi mest på användardefinierade funktioner.

C ++ Användardefinierad funktion

C ++ låter programmeraren definiera sin egen funktion.

En användardefinierad funktionsgruppskod för att utföra en specifik uppgift och den grupp av kod får ett namn (identifierare).

När funktionen anropas från någon del av programmet körs alla de koder som definierats i funktionens kropp.

C ++ Funktionsdeklaration

Syntaxen för att deklarera en funktion är:

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

Här är ett exempel på en funktionsdeklaration.

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

Här,

  • namnet på funktionen är greet()
  • funktionens returtyp är void
  • de tomma parenteserna betyder att det inte har några parametrar
  • funktionskroppen är skriven inuti ()

Obs! Vi kommer att lära oss mer om returnTypeoch parameterssenare i denna handledning.

Ringa en funktion

I ovanstående program har vi förklarat en funktion som heter greet(). För att använda greet()funktionen måste vi kalla den.

Så här kan vi kalla greet()funktionen ovan .

 int main() ( // calling a function greet(); )
Hur funktion fungerar i C ++

Exempel 1: Visa en text

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

Produktion

 Hej där!

Funktionsparametrar

Som nämnts ovan kan en funktion deklareras med parametrar (argument). En parameter är ett värde som skickas när en funktion deklareras.

Låt oss till exempel överväga funktionen nedan:

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

Här är intvariabeln num funktionsparametern.

Vi skickar ett värde till funktionsparametern när vi anropar funktionen.

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

Exempel 2: Funktion med parametrar

 // 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; )

Produktion

 Intalet är 5 Det dubbla numret är 5,5

I ovanstående program har vi använt en funktion som har en intparameter och en doubleparameter.

Vi skickar sedan num1 och num2 som argument. Dessa värden lagras av funktionsparametrarna n1 respektive n2.

C ++ - funktion med parametrar

Obs! Typen av argument som skickats när funktionen anropas måste matcha motsvarande parametrar som definierats i funktionsdeklarationen.

Returuttalande

I ovanstående program har vi använt tomrum i funktionsdeklarationen. Till exempel,

 void displayNumber() ( // code )

Detta innebär att funktionen inte returnerar något värde.

Det är också möjligt att returnera ett värde från en funktion. För detta måste vi specificera returnTypefunktionen under funktionsdeklarationen.

Då kan returnuttalandet användas för att returnera ett värde från en funktion.

Till exempel,

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

Här har vi datatypen intistället för void. Detta innebär att funktionen returnerar ett intvärde.

Koden return (a + b);returnerar summan av de två parametrarna som funktionsvärde.

Det returnuttalandet anger att funktionen har upphört. Någon kod efter returninuti funktionen körs inte.

Exempel 3: Lägg till två nummer

 // 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; )

Produktion

 100 + 78 = 178

I ovanstående program används add()funktionen för att hitta summan av två siffror.

Vi passerar två intbokstäver 100och 78samtidigt ringer funktionen.

Vi lagrar funktionens returnerade värde i den variabla summan och skriver sedan ut den.

Arbeta med C ++ - funktion med returuttalande

Lägg märke till att summan är en variabel av inttypen. Detta beror på att returvärdet add()är av inttyp.

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

 Kvadratrot av 25 = 5

I detta program används sqrt()biblioteksfunktionen för att beräkna kvadratroten av ett tal.

Funktionsdeklarationen för sqrt()definieras i cmathrubrikfilen. Därför måste vi använda koden för #include att använda sqrt()funktionen.

Mer information finns i C ++ Standardbiblioteksfunktioner.

Intressanta artiklar...