La funzione come black box
Una funzione è una scatola nera (black box): riceve dei dati in ingresso (i parametri), esegue al suo interno un compito e restituisce un risultato. A chi la usa non interessa come lavora dentro, ma solo cosa entra e cosa esce.
Come in matematica
In matematica scrivi f(x) = x²: dai un valore a x e ottieni f(x). Una funzione in C++ è esattamente questo: stesso input → stesso output, sempre.
Matematica
C++
Definire e richiamare
Una funzione ha un tipo di ritorno, un nome, dei parametri e un corpo con return. Si definisce prima del main e si richiama dove serve, anche più volte.
// definizione int quadrato(int n) { return n * n; // restituisce il risultato } int main() { cout << quadrato(4); // stampa 16 (richiamo) int r = quadrato(10); // r = 100 return 0; }
Una funzione che non restituisce nulla ha tipo void (per esempio una che si limita a stampare). I parametri possono anche essere passati per riferimento (int &x) per modificare le variabili del chiamante: lo vedremo meglio con i puntatori.
Gli esercizi
Base: funzioni che restituiscono un valore. Avanzati: funzioni con vettori, parametri per riferimento e ricorsione.