Sari la conținut
LECȚIA 10.1 · INFORMATICĂ

Funcții în C++: definire și parametri

Funcții void și cu rezultat, parametri transmisi prin valoare și prin referință.

Conținut verificat

De ce funcții

O funcție (subprogram) grupează un calcul sub un nume, ca să-l refolosești și să împarți problema în pași mici.

Funcție cu rezultat

#include <iostream>
using namespace std;

int patrat(int x) {
    return x * x;
}

int main() {
    cout << patrat(5);
    return 0;
}

Afișează 25. Tipul din fața numelui (int) este tipul rezultatului; return îl trimite înapoi.

Funcție void

O funcție void execută ceva, dar nu întoarce niciun rezultat:

#include <iostream>
using namespace std;

void salut(int n) {
    for (int i = 0; i < n; i++)
        cout << "Salut!" << "\n";
}

int main() {
    salut(3);
    return 0;
}

Valoare vs. referință

Prin valoare (implicit): funcția primește o COPIE; originalul nu se schimbă.

Prin referință (cu &): funcția lucrează direct pe variabila originală.

#include <iostream>
using namespace std;

void schimba(int &a, int &b) {
    int aux = a;
    a = b;
    b = aux;
}

int main() {
    int x = 3, y = 9;
    schimba(x, y);
    cout << x << " " << y;
    return 0;
}

Afișează 9 3: datorită lui &, interschimbarea se vede în main.

Greșeli frecvente

  1. Funcție declarată int fără return pe toate ramurile: rezultat imprevizibil.
  2. Parametrii prin valoare NU modifică argumentele originale, oricât i-ai modifica în funcție.
  3. Variabilele locale ale funcției dispar la ieșire; ce vrei să păstrezi întorci cu return sau prin referință.