C++ Fonctions avec exemples de programmes

Qu'est-ce qu'une fonction dans C++?

A fonction in C++ fait référence à un groupe d'instructions qui prend une entrée, la traite et renvoie une sortie. L’idée derrière une fonction est de combiner des tâches communes effectuées de manière répétée. Si vous avez des entrées différentes, vous n’écrirez plus le même code. Vous appellerez simplement la fonction avec un ensemble de données différent appelé paramètres.

Chaque C++ le programme a au moins une fonction, la fonction main(). Vous pouvez diviser votre code en différentes fonctions. Cette division doit être telle que chaque fonction accomplisse une tâche spécifique.

Il existe de nombreuses fonctions intégrées dans le C++ bibliothèque standard. Vous pouvez appeler ces fonctions dans votre programme.

Pourquoi utiliser des fonctions ?

Il existe de nombreux avantages associés à l’utilisation des fonctions. Ceux-ci inclus:

  • Chaque fonction rassemble le code associé. Cela permet aux programmeurs de comprendre plus facilement le code.
  • Les fonctions facilitent la programmation en éliminant la répétition du code.
  • Les fonctions facilitent la réutilisation du code. Vous pouvez appeler la même fonction pour effectuer une tâche dans différentes sections du programme ou même en dehors du programme.

Fonctions intégrées

In C++ les fonctions de la bibliothèque sont intégrées C++ fonctions. Pour utiliser ces fonctions, il vous suffit de les invoquer/appeler directement. Vous n'êtes pas obligé d'écrire les fonctions vous-même.

1 Exemple:

#include <iostream>
#include <cmath>
using namespace std;
int main() {
	double num, squareRoot;
	cout << "Enter number: ";
	cin >> num;
	squareRoot = sqrt(num);
	cout << "The square root of " << num << " is: " << squareRoot;
	return 0;
}

Sortie :

Fonctions intégrées

Voici une capture d'écran du code :

Fonctions intégrées

Explication du code :

  1. Incluez le fichier d'en-tête iostream dans notre programme pour utiliser ses fonctions.
  2. Incluez la bibliothèque cmath pour utiliser ses fonctions. Nous voulons utiliser la fonction sqrt() qui y est définie.
  3. Incluez l'espace de noms std dans notre code pour utiliser ses classes sans l'appeler.
  4. Appelez la fonction main(). La logique du programme doit être ajoutée dans le corps de cette fonction.
  5. Déclarez deux variables doubles, num et squareRoot.
  6. Imprimez du texte sur la console. Le texte demande à l'utilisateur de saisir un numéro.
  7. Lire les entrées de l'utilisateur à partir du clavier. L'entrée deviendra la valeur de la variable num.
  8. Appelez la fonction bibliothèque sqrt(), qui calcule la racine carrée d'un nombre. Nous avons passé le paramètre num à la fonction, ce qui signifie qu'elle calculera la racine carrée de num. Cette fonction est définie dans la bibliothèque cmath.
  9. Imprimez le nombre saisi par l'utilisateur, sa racine carrée et un autre texte sur la console.
  10. Le programme doit renvoyer de la valeur une fois terminé.
  11. Fin du corps de la fonction main().

Fonctions définies par l'utilisateur

C++ permet aux programmeurs de définir leurs propres fonctions. Le but de la fonction est de regrouper le code associé. Le code reçoit ensuite un identifiant unique, le nom de la fonction.

La fonction peut être appelée/invoquée depuis n’importe quelle autre partie du programme. Il exécutera ensuite le code défini dans son corps.

2 Exemple:

#include <iostream>
using namespace std;

void sayHello() {
	cout << "Hello!";
}

int main() {

	sayHello();

	return 0;
}

Sortie :

Fonctions définies par l'utilisateur

Voici une capture d'écran du code :

Fonctions définies par l'utilisateur

Explication du code :

  1. Incluez le fichier d'en-tête iostream dans notre programme pour utiliser ses fonctions.
  2. Incluez l'espace de noms std dans notre code pour utiliser ses classes sans l'appeler.
  3. Créez une fonction définie par l'utilisateur nommée sayHello().
  4. Imprime du texte sur la console lorsque la fonction sayHello() est appelée.
  5. Fin du corps de la fonction sayHello().
  6. Appelez la fonction main(). La logique du programme doit être ajoutée dans le corps de cette fonction.
  7. Appelez/invoquez la fonction nommée sayHello().
  8. Le programme doit renvoyer de la valeur une fois terminé.
  9. Fin du corps de la fonction main().

Déclaration de fonction/Prototype

Si vous définissez une fonction définie par l'utilisateur après la fonction main(), le C++ compilateur renverra une erreur. La raison en est que le compilateur ne connaît pas les détails de la fonction définie par l'utilisateur. Les détails incluent son nom, les types d'arguments et leurs types de retour.

In C++, la déclaration/prototype de fonction déclare une fonction sans corps. Cela donne au compilateur les détails de la fonction définie par l'utilisateur.

Déclaration de fonction/Prototype

Dans la déclaration/prototype, nous incluons le type de retour, le nom de la fonction et les types d'arguments. Les noms des arguments ne sont pas ajoutés. Cependant, l'ajout des noms d'arguments ne génère aucune erreur.

Définition de la fonction

Le but de la déclaration de fonction est d'indiquer au C++ compilateur sur le nom de la fonction, le type de retour et les paramètres. Une définition de fonction indique au C++ compilateur sur le corps de la fonction.

Définition de fonction/Prototype

Syntaxe

return_datatype function_name( parameters) {
   function body 
}

D’après ce qui précède, une définition de fonction comporte l’en-tête et le corps de la fonction. Voici une explication des paramètres :

  • return_datatype- Certaines fonctions renvoient une valeur. Ce paramètre indique le type de données de la valeur de retour. Certaines fonctions ne renvoient pas de valeur. Dans ce cas, la valeur de ce paramètre devient nulle.
  • function_name- C'est le nom de la fonction. Le nom de la fonction et les paramètres forment la signature de la fonction.
  • Paramètres - Il s'agit du type, de l'ordre et du nombre de paramètres de fonction. Certaines fonctions n'ont pas de paramètres.
  • corps de fonction- ce sont des déclarations définissant ce que fera la fonction.

Appel de fonction

Pour qu’une fonction effectue la tâche spécifiée et renvoie une sortie, elle doit être appelée. Lorsque vous appelez une fonction, elle exécute les instructions ajoutées dans son corps.

Appel de fonction

Un programme est appelé par son nom. Si la fonction prend des paramètres, leurs valeurs doivent être transmises lors de l'appel. Si le service ne prend aucun paramètre, ne transmettez aucune valeur lors de l'appel.

Passer des arguments

In C++, un argument/paramètre correspond aux données transmises à une fonction lors de son appel. Les valeurs doivent être initialisées à leurs variables respectives.

Lors de l'appel d'une fonction, les arguments doivent correspondre en nombre. Cela signifie que les valeurs que vous transmettez doivent être égales au nombre de paramètres. Encore une fois, les valeurs doivent également correspondre aux paramètres en termes de type. Si le premier paramètre est un entier, la valeur qui lui est transmise doit être un entier.

On peut attribuer des valeurs par défaut aux paramètres de fonction. Si vous ne transmettez pas de valeur pour le paramètre lors de l'appel de fonction, la valeur par défaut sera utilisée.

Exemple 3 : Comment écrire et appeler une fonction

#include <iostream>
using namespace std;
int addFunc(int, int);
int main() {
	int x, y, sum;
	cout << "Enter two numbers: ";
	cin >> x >> y;
	sum = addFunc(x, y);
	cout <<"The sum of "<<x<< " and " <<y<<" is: "<<sum;
	return 0;
}
int addFunc(int num1, int num2) {
	int addFunc;
	addFunc = num1 + num2;
	return addFunc;
}

Sortie :

Passer des arguments

Voici une capture d'écran du code :

Passer des arguments

Explication du code :

  1. Incluez le fichier d'en-tête iostream dans notre programme pour utiliser ses fonctions.
  2. Incluez l'espace de noms std dans notre code pour utiliser ses classes sans l'appeler.
  3. Déclarez une fonction nommée addFunc() qui prend deux paramètres entiers. Cela crée le prototype de fonction.
  4. Appelez la fonction main(). La logique du programme doit être ajoutée dans le corps de cette fonction.
  5. Déclarez trois variables entières, x, y et somme.
  6. Imprimez du texte sur la console. Le texte demande à l'utilisateur de saisir deux chiffres.
  7. Lisez la saisie de l'utilisateur à partir du clavier. L'utilisateur doit saisir deux nombres pour les variables x et y, séparés par un espace.
  8. Appelez la fonction addFunc() et passez-lui les paramètres x et y. La fonction fonctionnera sur ces paramètres et affectera la sortie à la somme variable.
  9. Imprimez les valeurs des variables x, y et sum sur la console avec d'autres textes.
  10. La fonction doit renvoyer une valeur une fois terminée avec succès.
  11. Fin du corps de la fonction main().
  12. Définition de la fonction. Nous définissons la fonction addFunc(). Nous indiquerons ce que la fonction fera dans son corps, le { }.
  13. Déclaration d'une variable entière nommée addFunc.
  14. Ajouter les valeurs des paramètres num1 et num2 et affecter le résultat à la variable addFunc.
  15. La fonction addFunc() doit renvoyer la valeur de la variable addFunc.
  16. Fin du corps de la fonction, c'est-à-dire définition de la fonction.

Résumé

  • Une fonction dans C++ vous aide à regrouper le code associé en un seul.
  • Les fonctions facilitent la réutilisation du code.
  • Au lieu d’écrire encore et encore du code similaire, vous le regroupez simplement dans une fonction. Vous pouvez ensuite appeler la fonction depuis n'importe où dans le code.
  • Les fonctions peuvent être définies par la bibliothèque ou définies par l'utilisateur.
  • Les fonctions de bibliothèque sont les fonctions intégrées à divers C++ fonctions.
  • Pour utiliser les fonctions de la bibliothèque, il vous suffit d'inclure sa bibliothèque de définition et d'appeler la fonction. Vous ne définissez pas la fonction.
  • Les fonctions définies par l'utilisateur sont les fonctions que vous définissez en tant que C++ programmeur.
  • Une déclaration de fonction indique au compilateur le nom de la fonction, le type de retour et les types de paramètres.
  • Une définition de fonction ajoute le corps de la fonction.
  • Si une fonction prend des paramètres, leurs valeurs doivent être transmises lors de l'appel de la fonction.