In questa breve lezione sulla definizione di funzione in C++, vedremo la differenza tra definzione e dichiarazione di una funzione.
La definzione di una funzione specifica cosa fa la funzione e come lo fa.
Fondamenti solidi di programmazione
Impara le basi della programmazione in C in modo semplice, pratico ed efficace. Variabili, cicli, funzioni, logica e algoritmi.
- ⏱️ 9 ore di corso registrato
- 🧩 Più di 50 algoritmi risolti passo passo
- 🎯 Livello base
- 💻 100% online, fruibile quando vuoi
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;
// Dichiarazione del prototipo della funzione cubo
double cubo(float c);
int main() {
float lato;
double volume;
// Input della lunghezza del lato del cubo
cout << "Inserisci il lato del cubo, calcolerò il volume: " << endl;
cin >> lato;
// Calcolo del volume del cubo utilizzando la funzione cubo()
volume = cubo(lato);
// Output del volume
cout << "Il volume del cubo è: " << volume << endl;
return 0;
}
// Definizione della funzione cubo() che calcola il volume di un cubo
double cubo(float c) {
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;
// Dichiarazione del prototipo della funzione cubo
double cubo(float c);
int main() {
float lato;
double volume;
// Input della lunghezza del lato del cubo
cout << "Inserisci il lato del cubo, calcolerò il volume: " << endl;
cin >> lato;
// Calcolo del volume del cubo utilizzando la funzione cubo()
volume = cubo(lato);
// Output del volume
cout << "Il volume del cubo è: " << volume << endl;
return 0;
}
// Definizione della funzione cubo() che calcola il volume di un cubo
double cubo(float c) {
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;
// Dichiarazione dei prototipi delle funzioni
double quadrato(float);
double cubo(float);
double meta(float);
int main() {
int num;
double q, c, r;
// Input del numero dall'utente
cout << "Inserisci il numero: ";
cin >> num;
// Calcolo del quadrato, del cubo e della metà del numero
q = quadrato(num);
c = cubo(num);
r = meta(num);
// Output dei risultati
cout << "Il quadrato è: " << q << ", il cubo è: " << c << ", la sua metà è: " << r;
return 0;
}
// Definizione della funzione per calcolare il quadrato di un numero
double quadrato(float c) {
return c * c;
}
// Definizione della funzione per calcolare il cubo di un numero
double cubo(float c) {
return c * c * c;
}
// Definizione della funzione per calcolare la metà di un numero
double meta(float c) {
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++
📘 Vuoi approfondire l'argomento? Dai un'occhiata a 50 Algoritmi per imparare C++ — vedi su Amazon.
Tutorial C++
Successione di Fibonacci in C++