Definizione di funzione in C++

In questa breve lezione sulla definizione di funzione in C++, vedremo la differenza tra definzione e dichiarazione di una funzione.

Abbiamo già parlato delle funzioni in C++ e visto alcuni esempi pratici, potete seguire il link se non l’avete già fatto.

Cosa fa la definizione di funzione in C++

La definzione di una funzione specifica cosa fa la funzione e come lo fa.

Un esempio che abbiamo già visto nelle precedenti lezioni:

double cubo(float c) //definzione di funzione
{
   return c*c*c;
}

In questo esempio, di definizione di funzione, si definisce una funzione cubo e all’interno ci sono le istruzioni per calcolare il cubo di un numero. Quindi rappresenta un sottoprogramma.

Se una funzione però viene chiamata prima di essere definita allora bisogna dichiarla, così come si fa con le variabili.

Ad esempio, nell’esempio sotto, si avrebbe un errore di funzione non dichiarata.

#include <iostream>
using namespace std;

main ()
{
    float lato;
    double c;
	
    cout<<"Inserisci il lato del cubo, calcolero' il volume:\n";
    cin>>lato;
	
    c=cubo(lato);
    cout<<c;
}

double cubo(float c)  //definizione di funzione
{
   return c*c*c;
}

In questo caso occorre dunque dichiarala.


Dichiarazione di funzione in C++

La dichiarazione di funzione è rappresentata da un’unica istruzione che specifica il tipo di funzione, i parametri (argomenti) della funzione e il tipo del valore di ritorno (può essere anche void).

Quindi ecco come sarebbe l’esempio di prima con la dichiarazione di funzione.

Ecco dunque un listato che mostra un esempio di definizione di funzione in C++ e di dichiarazione.

#include <iostream>
using namespace std;

double cubo(float c);  //dichiarazione di funzione

main ()
{
    float lato;
    double c;
	
    cout<<"Inserisci il lato del cubo, calcolero' il volume:\n";
    cin>>lato;
	
    c=cubo(lato);
    cout<<c;
}

double cubo(float c) //definizione di funzione
{
   return c*c*c;
}

E’ importante dire che i nomi dei parametri in una dichiarazione di funzione sono fittizzi, quindi avrei anche potuto scrivere:

double cubo(float); al posto di double cubo(float c);.

Quindi il nome del parametro formale è superfluo, quello che conta è il tipo o la lista dei tipi.

Ovviamente ad una dichiarazione deve seguire sempre una definizione di funzione.

Si può anche definire una funzione in un file e invocarla in un altro, in questo caso nel file in cui la funzione viene utilizzata deve essere inserita la dichiarazione.

Facciamo ancora un altro esempio di dichiarazione di funzioni, riprendendo l’esercizio della lezione precedente.

#include <iostream>
using namespace std;

double quadrato(float); //dichiarazione di funzione
double cubo(float); //dichiarazione di funzione
double meta(float); //dichiarazione di funzione

int main(){
	int num;
	double q,c,r;
	
	cout<<"Inserisci il numero: ";
	cin>>num;
	
	q=quadrato(num);
	c=cubo(num);
	r=meta(num);
	cout<<"il quadrato e': "<<q<<" il cubo e': "<<c<<" la sua meta' e': "<<r;
}

double quadrato (float c) //definizione di funzione
{
	return c*c;
}

double cubo (float c) //definizione di funzione
{
	return c*c*c;
}

double meta (float c) //definizione di funzione
{
	return c/2;
}

Chiaramente questi sono solo degli esempi sulla definizione di funzione in C++.

Alcuni link utili

Passaggio di parametri per valore o per riferimento

Ciclo while in C++

Ciclo do while

Iterazioni con il ciclo for in C++

Operatori logici in C++

Esercizi con switch case in C++

Switch case in C++

If else in C++

Casting in C++

Variabili in C++

Tutorial C++

Successione di Fibonacci in C++


Autore dell'articolo: Cristina

Avatar per Coding Creativo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *