Î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:
- Funcții de bibliotecă standard: predefinite în C ++
- 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 parameters
mai 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(); )

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, int
variabila 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 int
parametru și un double
parametru.
Apoi trecem num1 și num2 ca argumente. Aceste valori sunt stocate de parametrii funcției n1 și respectiv n2.

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 returnType
funcția în timpul declarației funcției.
Apoi, return
instrucț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 int
valoare.
Codul return (a + b);
returnează suma celor doi parametri ca valoare a funcției.
return
Declarația denotă că funcția sa încheiat. Orice cod după return
interiorul 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ă int
litere 100
și, în 78
timp ce apelăm funcția.
Stocăm valoarea returnată a funcției în suma variabilă și apoi o imprimăm.

Observați că suma este o variabilă de int
tip. Acest lucru se datorează faptului că valoarea returnată add()
este de int
tip.
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 cmath
fiș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 ++.