Funcția C ++ (cu exemple)

În acest tutorial, vom învăța despre funcția C ++ și expresiile funcției cu ajutorul exemplelor.

O funcție este un bloc de cod care efectuează o sarcină specifică.

Să presupunem că trebuie să creăm un program pentru a crea un cerc și a-l colora. Putem crea două funcții pentru a rezolva această problemă:

  • o funcție pentru a desena cercul
  • o funcție de colorare a cercului

Împărțirea unei probleme complexe în bucăți mai mici face ca programul nostru să fie ușor de înțeles și reutilizat.

Există două tipuri de funcții:

  1. Funcții de bibliotecă standard: predefinite în C ++
  2. Funcție definită de utilizator : creată de utilizatori

În acest tutorial, ne vom concentra în principal pe funcțiile definite de utilizator.

C ++ Funcție definită de utilizator

C ++ permite programatorului să-și definească propria funcție.

O funcție definită de utilizator grupează codul pentru a efectua o anumită sarcină și acelui grup de cod i se dă un nume (identificator).

Când funcția este invocată din orice parte a programului, toate execută codurile definite în corpul funcției.

Declarația funcției C ++

Sintaxa pentru a declara o funcție este:

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

Iată un exemplu de declarație de funcție.

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

Aici,

  • numele funcției este greet()
  • tipul de returnare a funcției este void
  • parantezele goale înseamnă că nu are parametri
  • corpul funcției este scris în interior ()

Notă: Vom afla despre returnTypeși parametersmai târziu în acest tutorial.

Apelarea unei funcții

În programul de mai sus, am declarat o funcție numită greet(). Pentru a utiliza greet()funcția, trebuie să o numim.

Iată cum putem apela greet()funcția de mai sus .

 int main() ( // calling a function greet(); )
Cum funcționează Funcția în C ++

Exemplul 1: Afișați un text

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

Ieșire

 Salutare!

Parametrii funcției

După cum sa menționat mai sus, o funcție poate fi declarată cu parametri (argumente). Un parametru este o valoare care este transmisă atunci când se declară o funcție.

De exemplu, să luăm în considerare funcția de mai jos:

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

Aici, intvariabila num este parametrul funcției.

Transmitem o valoare parametrului funcției în timp ce apelăm funcția.

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

Exemplul 2: Funcție cu parametri

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

Ieșire

 Numărul int este 5 Numărul dublu este 5,5

În programul de mai sus, am folosit o funcție care are un intparametru și un doubleparametru.

Apoi trecem num1 și num2 ca argumente. Aceste valori sunt stocate de parametrii funcției n1 și respectiv n2.

Funcția C ++ cu parametri

Notă: Tipul argumentelor transmise în timpul apelării funcției trebuie să se potrivească cu parametrii corespunzători definiți în declarația funcției.

Declarație de returnare

În programele de mai sus, am folosit void în declarația de funcție. De exemplu,

 void displayNumber() ( // code )

Aceasta înseamnă că funcția nu returnează nicio valoare.

De asemenea, este posibil să returnați o valoare dintr-o funcție. Pentru aceasta, trebuie să specificăm returnTypefuncția în timpul declarației funcției.

Apoi, returninstrucțiunea poate fi utilizată pentru a returna o valoare dintr-o funcție.

De exemplu,

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

Aici avem tipul de date intîn loc de void. Aceasta înseamnă că funcția returnează o intvaloare.

Codul return (a + b);returnează suma celor doi parametri ca valoare a funcției.

returnDeclarația denotă că funcția sa încheiat. Orice cod după returninteriorul funcției nu este executat.

Exemplul 3: Adăugați două numere

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

Ieșire

 100 + 78 = 178

În programul de mai sus, add()funcția este utilizată pentru a găsi suma a două numere.

Trecem două intlitere 100și, în 78timp ce apelăm funcția.

Stocăm valoarea returnată a funcției în suma variabilă și apoi o imprimăm.

Funcționarea funcției C ++ cu instrucțiunea return

Observați că suma este o variabilă de inttip. Acest lucru se datorează faptului că valoarea returnată add()este de inttip.

Prototipul funcției

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

 Rădăcina pătrată de 25 = 5

În acest program, sqrt()funcția de bibliotecă este utilizată pentru a calcula rădăcina pătrată a unui număr.

Declarația de funcție a sqrt()este definită în cmathfișierul antet. De aceea trebuie să folosim codul #include pentru a folosi sqrt()funcția.

Pentru a afla mai multe, vizitați funcțiile bibliotecii standard C ++.

Articole interesante...