Ripasso funzioni

Post on 19-Jun-2015

916 views 0 download

description

Breve ripasso sulle funzioni in c++

Transcript of Ripasso funzioni

RIPASSO INFORMATICA

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

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);

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.

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.

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

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.

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