Funzioni in C++
Organizza il codice in moduli riutilizzabili e migliora la leggibilità
Le funzioni sono blocchi di codice che permettono di organizzare il programma in moduli riutilizzabili, rendendo il codice più leggibile, modulare e facilitandone la manutenzione.
1. Definizione e Dichiarazione di Funzioni
📌 Perché usare le funzioni: Riutilizzo del codice, organizzazione, debugging più semplice e manutenzione facilitata.
1️⃣ Dichiarazione (Prototipo)
Informa il compilatore su nome, tipo di ritorno e parametri della funzione.
tipo nomeFunzione(tipo param1, tipo param2);
2️⃣ Definizione (Implementazione)
Contiene il codice effettivo che viene eseguito quando la funzione è chiamata.
tipo nomeFunzione(tipo param1, tipo param2) { ... }
1.1 Dichiarazione
1.2 Definizione
2. Valore di Ritorno e Parametri
📌 Tipi di ritorno: int, double, string, bool, void (nessun ritorno), o qualsiasi tipo definito.
2.1 Valore di Ritorno
2.2 Tipi di Passaggio Parametri
✅ Per Valore
Vantaggio: Sicuro, la variabile originale non viene modificata
Svantaggio: Copia dei dati (overhead per oggetti grandi)
void funzione(int a)
🔗 Per Riferimento
Vantaggio: Efficiente, modifica la variabile originale
Svantaggio: Può modificare dati inaspettatamente
void funzione(int &a)
🛡️ Riferimento Costante
Vantaggio: Efficiente e sicuro
Svantaggio: Non permette modifiche
void funzione(const int &a)
3. Scope delle Variabili
⚠️ Importante: Limitare l’uso di variabili globali per evitare conflitti e rendere il codice più chiaro.
📍 Variabili Locali
Scope: Solo nel blocco dove sono dichiarate
Vita: Finché il blocco è attivo
Accesso: Limitato al blocco
void funzione() { int locale; }
🌍 Variabili Globali
Scope: Tutto il file/programma
Vita: Durata del programma
Accesso: Da qualsiasi funzione
int globale; int main() { }
3.1 Variabili Locali
3.2 Variabili Globali
🎯 Esempi Pratici
Esercizi guidati per comprendere meglio le funzioni
4.1 Massimo tra Due Numeri
4.2 Scambio di Variabili (Passaggio per Riferimento)
💡 Spiegazione:
• Le variabili x e y vengono modificate direttamente
• Il passaggio per riferimento permette di alterare le variabili originali
• La variabile temp è locale alla funzione
4.3 Scope delle Variabili
5. Esercizi Pratici
Esercizio 1: Calcolo della Media di un Array
Esercizio 2: Verifica Numero Pari
💡 Spiegazione:
• La funzione restituisce un valore booleano (true/false)
• L’operatore modulo % restituisce il resto della divisione
• Se il resto è 0, il numero è pari
Esercizio 3: Fattoriale Ricorsivo
💡 Spiegazione Ricorsione:
• Caso base: fattoriale(1) = 1 – ferma la ricorsione
• Caso ricorsivo: fattoriale(n) = n × fattoriale(n-1)
• Ogni chiamata risolve un problema più piccolo
6. Esercizi Avanzati
Esercizio 4: Contatore con Variabile Static
Esercizio 5: Overloading di Funzioni
Conclusioni
Riassunto dei concetti chiave:
✅ Definizione e Dichiarazione
Le funzioni permettono di incapsulare logica e operazioni in blocchi riutilizzabili
✅ Valore di Ritorno e Parametri
È possibile passare dati alle funzioni e restituire risultati usando diversi tipi di passaggio
✅ Scope delle Variabili
Le variabili locali esistono solo nel loro blocco, mentre quelle globali sono accessibili ovunque
Questi esempi ed esercizi pratici ti aiuteranno a comprendere in profondità come lavorare con funzioni e scope in C++, offrendoti una base solida per sviluppare programmi modulari ed efficienti. Buon coding! 🚀
🚀 Esercitazioni Pratiche C++
Metti in pratica ciò che hai imparato con queste esercitazioni complete
📚 Tutte le Esercitazioni
12 esercitazioni complete per padroneggiare il C++