Fonction C ++ (avec des exemples)

Dans ce didacticiel, nous allons découvrir la fonction C ++ et les expressions de fonction à l'aide d'exemples.

Une fonction est un bloc de code qui exécute une tâche spécifique.

Supposons que nous devions créer un programme pour créer un cercle et le colorier. Nous pouvons créer deux fonctions pour résoudre ce problème:

  • une fonction pour dessiner le cercle
  • une fonction pour colorer le cercle

La division d'un problème complexe en plus petits morceaux rend notre programme facile à comprendre et réutilisable.

Il existe deux types de fonctions:

  1. Fonctions de bibliothèque standard: prédéfinies en C ++
  2. Fonction définie par l'utilisateur : créée par les utilisateurs

Dans ce didacticiel, nous nous concentrerons principalement sur les fonctions définies par l'utilisateur.

Fonction définie par l'utilisateur C ++

C ++ permet au programmeur de définir sa propre fonction.

Une fonction définie par l'utilisateur regroupe un code pour effectuer une tâche spécifique et ce groupe de code reçoit un nom (identifiant).

Lorsque la fonction est appelée depuis n'importe quelle partie du programme, elle exécute tous les codes définis dans le corps de la fonction.

Déclaration de fonction C ++

La syntaxe pour déclarer une fonction est:

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

Voici un exemple de déclaration de fonction.

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

Ici,

  • le nom de la fonction est greet()
  • le type de retour de la fonction est void
  • les parenthèses vides signifient qu'il n'a aucun paramètre
  • le corps de la fonction est écrit à l'intérieur ()

Remarque: nous en apprendrons plus sur returnTypeet parametersplus loin dans ce didacticiel.

Appeler une fonction

Dans le programme ci-dessus, nous avons déclaré une fonction nommée greet(). Pour utiliser la greet()fonction, nous devons l'appeler.

Voici comment nous pouvons appeler la greet()fonction ci-dessus .

 int main() ( // calling a function greet(); )
Fonctionnement de Function en C ++

Exemple 1: afficher un texte

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

Production

 Bonjour!

Paramètres de fonction

Comme mentionné ci-dessus, une fonction peut être déclarée avec des paramètres (arguments). Un paramètre est une valeur transmise lors de la déclaration d'une fonction.

Par exemple, considérons la fonction ci-dessous:

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

Ici, la intvariable num est le paramètre de fonction.

Nous passons une valeur au paramètre de fonction lors de l'appel de la fonction.

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

Exemple 2: Fonction avec paramètres

 // 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; )

Production

 Le nombre entier est 5 Le nombre double est 5,5

Dans le programme ci-dessus, nous avons utilisé une fonction qui a un intparamètre et un doubleparamètre.

Nous passons ensuite num1 et num2 comme arguments. Ces valeurs sont stockées respectivement par les paramètres de fonction n1 et n2.

Fonction C ++ avec paramètres

Remarque: Le type des arguments transmis lors de l'appel de la fonction doit correspondre aux paramètres correspondants définis dans la déclaration de fonction.

Déclaration de retour

Dans les programmes ci-dessus, nous avons utilisé void dans la déclaration de fonction. Par exemple,

 void displayNumber() ( // code )

Cela signifie que la fonction ne renvoie aucune valeur.

Il est également possible de renvoyer une valeur à partir d'une fonction. Pour cela, nous devons spécifier le returnTypede la fonction lors de la déclaration de la fonction.

Ensuite, l' returninstruction peut être utilisée pour renvoyer une valeur à partir d'une fonction.

Par exemple,

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

Ici, nous avons le type de données intau lieu de void. Cela signifie que la fonction renvoie une intvaleur.

Le code return (a + b);renvoie la somme des deux paramètres comme valeur de fonction.

L' returninstruction indique que la fonction est terminée. Tout code après l' returnintérieur de la fonction n'est pas exécuté.

Exemple 3: ajouter deux nombres

 // 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; )

Production

 100 + 78 = 178

Dans le programme ci-dessus, la add()fonction est utilisée pour trouver la somme de deux nombres.

On passe deux intlittéraux 100et 78en appelant la fonction.

Nous stockons la valeur retournée de la fonction dans la somme des variables, puis nous l'imprimons.

Fonctionnement de la fonction C ++ avec instruction return

Notez que la somme est une variable de inttype. En effet, la valeur de retour de add()est de inttype.

Prototype de fonction

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

 Racine carrée de 25 = 5

Dans ce programme, la sqrt()fonction de bibliothèque est utilisée pour calculer la racine carrée d'un nombre.

La déclaration de fonction de sqrt()est définie dans le cmathfichier d' en- tête. C'est pourquoi nous devons utiliser le code #include pour utiliser la sqrt()fonction.

Pour en savoir plus, visitez les fonctions de la bibliothèque standard C ++.

Articles intéressants...