Lezioni di Informatica
"Una volta che abbiate conosciuto il volo, camminerete sulla terra guardando il cielo" [ L. da Vinci ]
Informazioni sul Sito
N. visitatori  000059263  dal 21/01/2007  |   e-mail: ksoft64camera@gmail.com   
Cerca nel sito
Documenti collegati alla pagina
Funzioni
Generalità sulle funzioni

Sono i blocchi fondamentali in cui si svolge tutta l'attività del programma. Il formato generale è:

[tipo] nome_funzione ([eventuali parametri])
{
	istruzione;
	istruzione;
	...
}
Se il tipo non è specificato la funzione restituisce un numero intero.
Gli eventuali parametri non sono altro che variabili dichiarate in sequenza e separate dalla virgola.

Importantissimo:
  • in qualsiasi programma C++ va sempre inserita una funzione speciale chiamata main() che rappresenta la partenza per l'esecuzione
  • Mentre in C le funzioni possono essere dichiarate senza un ordine preciso, nel C++, se una funzione x richiama un'altra funzione y, quest'ultima deve essere scritta prima. In alternativa si possono definire tutti i prototipi delle funzioni presenti nel programma (nomi delle funzioni con eventuali parametri) e poi scrivere l'intera funzione dove si vuole. Io consiglio questo metodo perché rende più leggibile e gestibile il programma

L'istruzione return

Inserendo questa istruzione tra quelle di una function si possono ottenere 2 risultati:

  • la terminazione della funzione con ritorno al programma
  • restituzione di un valore al programma chiamante
Non è obbligatorio inserirla; in questo caso la funzione restituisce comunque qualcosa (il valore zero).
L'unico caso in cui la funzione non restituisce nulla è quando il tipo della funzione viene dichiarato come void.
Ecco un esempio:
#include <iostream>
using namespace std;

/* qui dichiaro il prototipo della funzione mol() */
int mol (int a, int b);

int main()
{
	int x, y, z;
	x=10; y=20;
	z=mol(x, y); /* 1 */
	cout << mol(x, y) << "\n";  /* 2 */
	mol(x, y);  / * 3 */
}

int mol (int a, int b);
{	
	return a*b;
}
L'istruzione commentata come /* 1 */ assegna il risultato della funzione mol (a,b) alla variabile z.
Nell'istruzione commentata come /* 2 */ il comando cout utilizza il risultato della funzione mol (a,b) per visualizzarlo, senza assegnarlo ad alcuna variabile.
Nell'istruzione commentata come /* 3 */ il valore restituito dalla funzione mol (a,b) viene perso.