Sari la conținut

Capitolul 10 · Lecția 10.1 din 2

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

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

Capitolul 10: Funcții (subprograme)Conținut verificat

Pe scurt pentru BAC · 4 idei

  • O funcție grupează un calcul sub un nume, ca să-l refolosești și să împarți problema în pași mici.
  • Rezultatul unei funcții se poate afișa direct, ca în cout << patrat(5);, care afișează 25.
  • Funcția schimba(int &a, int &b) interschimbă valorile printr-o variabilă auxiliară, iar datorită lui & schimbarea se vede în main.
  • Fără &, aceeași funcție ar interschimba doar copiile, iar afișarea ar rămâne 3 9.
Pe această pagină5 secțiuni

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.

Atenție

Fără &, funcția ar interschimba doar copiile, iar afișarea ar rămâne 3 9. La subiectele de BAC, prezența sau absența lui & schimbă complet răspunsul.

Reține

Tipul scris în fața numelui este tipul rezultatului, trimis înapoi cu return; o funcție void nu întoarce nimic. Un parametru fără & primește o copie (originalul rămâne neschimbat), unul cu & lucrează direct pe variabila originală.

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ță.

Bifează când ai terminat, ca s-o vezi citită pe toate dispozitivele.

Testează-te pe capitolul 10

Lecția în clipuri

Clipuri scurte, cu voce și subtitrări.

Folosim cookie-uri esențiale, fără de care site-ul nu merge, și cookie-uri de analiză anonimizate, ca să vedem ce pagini ajută. Detalii în politica de confidențialitate