Le Funzioni in C++

Introduzione:

Una funzione in C++ è un blocco di codice che:

  • Riceve dei parametri in ingresso (input, variabili indipendenti di una funzione matematica).
  • Produce un risultato in uscita (output, variabile dipendente di una funzione matematica).

 

Osserviamo che:

  • Una funzione potrebbe non avere alcun parametro in ingresso.
  • Una funzione potrebbe non produrre alcun risultato da restituire al chiamante.

 

Dichiarazione di una funzione

Le funzioni devono sempre essere dichiarate prima di essere utilizzate.

Le dichiarazioni delle funzioni vanno messe prima della funzione main().

 

tipo_restituito nome_funzione(tipo1 param1, tipo2 param2, …)

{

tipo risultato;

// corpo della funzione

//azioni sulla variabile risultato

return(risultato); //restituzione del contenuto di risultato

}

 

Esempio completo

 

#include <iostream>

using namespace std;

 

int somma(int x, int y)

{

int ris;

ris=x+y;

return(ris);

}

 

int main(int argc, char *argv[])

{

int a, b, c;

cout<<“Numero 1: “;

cin>>a;

cout<<“Numero 2: “;

cin>>b;

c= somma(a,b);

cout<<“somma=”<<c<<endl;

system(“PAUSE”);

return EXIT_SUCCESS;

}

 

funzioni-c++

 

Funzioni prive di parametri

Definizione di una funzione che non prende nessun parametro in ingresso:

tipo_restituito nome_funzione()

{

tipo risultato;

// corpo della funzione

//azioni sulla variabile risultato

return(risultato); //restituzione del contenuto di risultato

}

Definizione di una funzione che non restituisce alcun risultato:

void nome_funzione(tipo1 param1, tipo2 param2, …)

{

// corpo della funzione

}

La parola chiave void denota l’assenza di un valore restituito dalla funzione.

 

Definizione di una funzione che non prende nessun parametro in ingresso e non restituisce alcun risultato:

void nome_funzione()

{

// corpo della funzione

}

 

Utilità nell’utilizzo delle funzioni

Attraverso l’utilizzo delle funzioni il programma può essere scomposto in sotto-programmi al fine di analizzare il problema come un insieme di sotto-problemi. Questa tecnica fa parte del paradigma della programmazione modulare. Sono indiscutibili i vantaggi che si possono ottenere:

  • Riutilizzo del codice
  • Indipendenza dell’implementazione di una funzione dalle altre funzioni.