Ce este o funcție void în C++?
Funcțiile (sau subprogramele) sunt un mod foarte convenient de a scrie cod ordonat și ușor de înțeles. Astfel, putem defini un grup de instrucțiuni sub un nume reprezentativ și să executăm acel grup de instrucțiuni unde vrem în programul nostru principal.
Funcțiile normale
Funcțiile normale returnează o valoare: mai exact, după ce se apelează o funcție, în locul ei va fi trecută o valoare — similar cu o variabilă. Iată un exemplu:
#include <iostream>
using namespace std;
int sumaDouaNumere(int a, int b) { //Dăm un nume sugestiv: *sumaDouaNumere*
int suma = a + b;
return suma;
}
int main()
{
int x, y;
cin >> x >> y;
cout << sumaDouaNumere(x, y); //sumaDouaNumere(x, y) se înlocuiește cu x + y (după definiția funcției)
return 0;
}
Funcțiile void
Totuși, există situații când vrem să executăm un bloc de instrucțiuni, fără să
returnăm ceva: spre exemplu, pentru a afișa un mesaj pe ecran. În aceste
situații, putem folosi funcția void
. Nu este necesară folosirea
instrucțiunii return
într-o funcție void
.
Iată un exemplu, care afișează pe ecran un mesaj specific:
#include <iostream>
using namespace std;
void afiseazaVariabila(int n) {
cout << "Variabila: " << n << endl;
}
int main()
{
int n;
cin >> n;
afiseazaVariabila(n); //Nu returnează nimic, doar afișează pe ecran
n++;
afiseazaVariabila(n);
afiseazaVariabila(3);
return 0;
}
Instrucțiunea return
în funcțiile void
Deși nu este necesar, în funcțiile void
poate apărea instrucțiunea return
,
astfel:
return; //**Nu** return ceva;
Instrucțiunea return
în funcțiile void
este similară cu break
dintr-o
structură repetitivă: va opri execuția restul liniilor din funcție.
Iată un exemplu:
#include <iostream>
using namespace std;
void afiseazaVariabila(int n) {
cout << n << endl;
return;
cout << "Evil n be like: " << -n << endl;
}
int main()
{
int n;
cin >> n;
afiseazaVariabila(n); //Afișează doar n, nu și a doua instrucțiune de afișare (deoarece apare return înainte)
return 0;
}
DS
Autorul acestei lecții
Dominic Satnoianu
Această lecție a fost redactată de către Dominic Satnoianu.
© 2021 – 2025 Aspire Education Labs SRL. Toate drepturile rezervate.
Așa cum este specificat și în termeni și condiții, conținutul acestei pagini este protejat de legea drepturilor de autor și este interzisă copierea sau modificarea acestuia fără acordul scris al autorilor.
Încălcarea drepturilor de autor este o infracțiune și se pedepsește conform legii.
Comentarii 0