Funzione C ++ (con esempi)

In questo tutorial, impareremo la funzione C ++ e le espressioni di funzioni con l'aiuto di esempi.

Una funzione è un blocco di codice che esegue un'attività specifica.

Supponiamo di dover creare un programma per creare un cerchio e colorarlo. Possiamo creare due funzioni per risolvere questo problema:

  • una funzione per disegnare il cerchio
  • una funzione per colorare il cerchio

Dividere un problema complesso in parti più piccole rende il nostro programma facile da capire e riutilizzabile.

Esistono due tipi di funzione:

  1. Funzioni di libreria standard: predefinite in C ++
  2. Funzione definita dall'utente: creata dagli utenti

In questo tutorial, ci concentreremo principalmente sulle funzioni definite dall'utente.

Funzione C ++ definita dall'utente

C ++ consente al programmatore di definire la propria funzione.

Una funzione definita dall'utente raggruppa il codice per eseguire un'attività specifica e a quel gruppo di codice viene assegnato un nome (identificatore).

Quando la funzione viene invocata da qualsiasi parte del programma, tutto esegue i codici definiti nel corpo della funzione.

Dichiarazione di funzione C ++

La sintassi per dichiarare una funzione è:

 returnType functionName (parameter1, parameter2,… ) ( // function body )

Ecco un esempio di una dichiarazione di funzione.

 // function declaration void greet() ( cout << "Hello World"; )

Qui,

  • il nome della funzione è greet()
  • il tipo di ritorno della funzione è void
  • le parentesi vuote indicano che non ha parametri
  • il corpo della funzione è scritto all'interno ()

Nota: impareremo a conoscere returnTypee parameterspiù avanti in questo tutorial.

Chiamare una funzione

Nel programma precedente, abbiamo dichiarato una funzione denominata greet(). Per utilizzare la greet()funzione, dobbiamo chiamarla.

Ecco come possiamo chiamare la greet()funzione sopra .

 int main() ( // calling a function greet(); )
Come funziona la funzione in C ++

Esempio 1: visualizzare un testo

 #include using namespace std; // declaring a function void greet() ( cout << "Hello there!"; ) int main() ( // calling the function greet(); return 0; )

Produzione

 Ciao!

Parametri di funzione

Come accennato in precedenza, una funzione può essere dichiarata con parametri (argomenti). Un parametro è un valore che viene passato quando si dichiara una funzione.

Ad esempio, consideriamo la funzione seguente:

 void printNum(int num) ( cout << num; )

Qui, la intvariabile num è il parametro della funzione.

Passiamo un valore al parametro della funzione durante la chiamata della funzione.

 int main() ( int n = 7; // calling the function // n is passed to the function as argument printNum(n); return 0; )

Esempio 2: funzione con parametri

 // program to print a text #include using namespace std; // display a number void displayNum(int n1, float n2) ( cout << "The int number is " << n1; cout << "The double number is " << n2; ) int main() ( int num1 = 5; double num2 = 5.5; // calling the function displayNum(num1, num2); return 0; )

Produzione

 Il numero int è 5 Il numero doppio è 5,5

Nel programma sopra, abbiamo usato una funzione che ha un intparametro e un doubleparametro.

Quindi passiamo num1 e num2 come argomenti. Questi valori vengono memorizzati rispettivamente dai parametri di funzione n1 e n2.

Funzione C ++ con parametri

Nota: il tipo di argomenti passati durante la chiamata della funzione deve corrispondere ai parametri corrispondenti definiti nella dichiarazione della funzione.

Dichiarazione di restituzione

Nei programmi sopra, abbiamo usato void nella dichiarazione della funzione. Per esempio,

 void displayNumber() ( // code )

Ciò significa che la funzione non restituisce alcun valore.

È anche possibile restituire un valore da una funzione. Per questo, dobbiamo specificare il valore returnTypedella funzione durante la dichiarazione della funzione.

Quindi, l' returnistruzione può essere utilizzata per restituire un valore da una funzione.

Per esempio,

 int add (int a, int b) ( return (a + b); )

Qui abbiamo il tipo di dati intinvece di void. Ciò significa che la funzione restituisce un intvalore.

Il codice return (a + b);restituisce la somma dei due parametri come valore della funzione.

L' returnistruzione indica che la funzione è terminata. Qualsiasi codice dopo returnall'interno della funzione non viene eseguito.

Esempio 3: aggiungi due numeri

 // program to add two numbers using a function #include using namespace std; // declaring a function int add(int a, int b) ( return (a + b); ) int main() ( int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; )

Produzione

 100 + 78 = 178

Nel programma sopra, la add()funzione viene utilizzata per trovare la somma di due numeri.

Passiamo due intletterali 100e 78mentre chiamiamo la funzione.

Memorizziamo il valore restituito dalla funzione nella variabile sum, quindi lo stampiamo.

Funzionamento della funzione C ++ con dichiarazione di ritorno

Notare che la somma è una variabile di inttipo. Questo perché il valore restituito di add()è di inttipo.

Prototipo di funzione

In C++, the code of function declaration should be before the function call. However, if we want to define a function after the function call, we need to use the function prototype. For example,

 // function prototype void add(int, int); int main() ( // calling the function before declaration. add(5, 3); return 0; ) // function definition void add(int a, int b) ( cout << (a + b); )

In the above code, the function prototype is:

 void add(int, int);

This provides the compiler with information about the function name and its parameters. That's why we can use the code to call a function before the function has been defined.

The syntax of a function prototype is:

 returnType functionName(dataType1, dataType2,… );

Example 4: C++ Function Prototype

 // using function definition after main() function // function prototype is declared before main() #include using namespace std; // function prototype int add(int, int); int main() ( int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; ) // function definition int add(int a, int b) ( return (a + b); )

Output

 100 + 78 = 178

The above program is nearly identical to Example 3. The only difference is that here, the function is defined after the function call.

That's why we have used a function prototype in this example.

Benefits of Using User-Defined Functions

  • Functions make the code reusable. We can declare them once and use them multiple times.
  • Functions make the program easier as each small task is divided into a function.
  • Functions increase readability.

C++ Library Functions

Library functions are the built-in functions in C++ programming.

Programmers can use library functions by invoking the functions directly; they don't need to write the functions themselves.

Some common library functions in C++ are sqrt(), abs(), isdigit(), etc.

In order to use library functions, we usually need to include the header file in which these library functions are defined.

For instance, in order to use mathematical functions such as sqrt() and abs(), we need to include the header file cmath.

Example 5: C++ Program to Find the Square Root of a Number

 #include #include using namespace std; int main() ( double number, squareRoot; number = 25.0; // sqrt() is a library function to calculate the square root squareRoot = sqrt(number); cout << "Square root of " << number << " = " << squareRoot; return 0; )

Output

 Radice quadrata di 25 = 5

In questo programma, la sqrt()funzione di libreria viene utilizzata per calcolare la radice quadrata di un numero.

La dichiarazione di funzione di sqrt()è definita nel cmathfile di intestazione. Ecco perché dobbiamo utilizzare il codice #include per utilizzare la sqrt()funzione.

Per saperne di più, visita le funzioni della libreria standard C ++.

Articoli interessanti...