XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
Ripasso funzioni
1.
2. Funzioni
Le funzioni sono così definite
Tipo nome (parametri)
{ … istruzioni ...
(cioè il codice della funzione)
}
Tipo : il valore di ritorno della funzione
Nome : il nome della funzione
Parametri : lista dei parametri passati
dal programma chiamante
3. Dichiarazione di una
funzione
La dichiarazione di una funzione (detta
anche prototipo) é un'unica istruzione,
salvo il fatto che deve terminare con un
punto e virgola. Esempio :
int CalcolaArea ( int lato, int base);
4. Chiamata della funzione
In caso chiamata la funzione nel programma, il
compilatore si occuperà di controllare che il tipo della
funzione sia ammissibile.
funzione (int num) { ..... num = num+1; .... }
int b = 0 ...... funzione(b); .....
In questo esempio dato i tipi coincidono.
il programma, prima di chiamare funzione, copia il
valore della propria variabile b nell'argomento a, che
diventa una variabile locale nell'ambito di funzione;
per cui a "muore" appena il controllo ritorna al
programma e il valore di b resta invariato, qualunque
modifica abbia subito a durante l'esecuzione
di funzione.
5. Funzioni con overload
Diversamente da C, il linguaggio C++
permette che più funzioni abbiano lo
stesso nome; queste funzioni sono
definite come overload.
Il compilatore distingue le chiamate di
funzioni con lo stesso nome a seconda
della lista di parametri.
6. Passaggi di parametri
Riferimento
sono variabili introdotte dall'operatore
di dichiarazione : &
Occupano la stessa memoria delle
variabili a cui si riferiscono.
esempio: int a = &b;
o Qualsiasi modifica fatta ad a si troverà
apportata anche alla variabile b
7. Passaggio per riferimento
In C++ posso passare come argomento
di una funzione un parametro per
riferimento ( indirizzo ).
In questo caso, non
viene creata una copia della variabile,
come avviene per valore, ma la variabile
di riferimento della sua corrispondente
nel programma chiamante.
8. Passaggio per valore
Nel caso si passi ad una funzione dei
parametri come per valore, verrà creata
una copia della variabile
Al momento del richiamo della funzione
il valore dei parametri attuali sono
ricopiati nello spazio di memoria allocato
ai parametri formali.
Al termine della funzione l'ambiente
locale viene eliminato