Oppure

Loading
18/02/07 13:40
jack90
Salve sono nuovo, qualcuno mi potrebbe spiegare le funzioni, perchè non ho ancora un buon manuale di C++ e non le ho capite molto bene
aaa
18/02/07 14:06
andry89mm
Provo a spiegartele io, ma ovviamente non far completo affidamento sulla mia nozione, non sono un laureato in informatica!

In C non esistono differenze tra funzioni e procedure , esso le "vede" tutte funzioni ;
Ora , presupponendo che tu sappia perchè vengono utilizzate le funzioni , ti spiego come si usano C(o C++):

Esempio:
#include<iostream.h>
int SOMMA(int a, int b)//prototipo di una funzione
main()
{
int primo, secondo,somma;
primo=10;
secondo=15;
somma=SOMMA(primo,secondo);
cout<<"La Somma : "<<primo<<" + "<<secondo<<" è = "<<somma;
}
int SOMMA(int a, int b)
{
int s;
s=a+b; /*avremmo potuto fare semplicemente return a+b;*/
return s;
}

Allora, il prototipo di funzione ti fa capire tutto:
nel nostro caso il tipo di ritorno è un intero( int) , SOMMA è il nome della funzione, (int a, int b)sono i parametri su cui essa lavora, entrambi di tipo intero.
Ricordati : alla fine del prototipo di funzione va messo " ; " , mentre nella testata di implementazione stessa della funzione( quella che si trova sotto il main() ) non va messo il " ; ".
Se richiamiamo una funzione con tipo di ritorno (int, float,char ecc..) il 'risultato' va assegnato ad una variabile dello stesso tipo del ritorno della funzione; nel nostro caso il ritorno è un int e infatti assegnamo la chiamata(nel main)ad una variabile "int somma; "
Nel caso in cui la funzione ha più parametri di ritorno (più di un parametro..) dovremo usare un "tipo" : void ;
In questi tipi di funzioni il ritorno viene fatto semplicemente con un : return; , e la chiamata di questi tipi di funzioni non va assegnata a nessuna variabile.

Spero di essere stato chiaro..Buon apprendimento :)
aaa