Maîtriser les fonctions C++ : Des bases à l'utilisation avancée
Maîtriser les fonctions C++
Ce tutoriel vous guide à travers les fondamentaux des fonctions C++ — y compris les fonctions définies par l'utilisateur, prototypes, paramètres, types de retour et fonctions de bibliothèque intégrées — en utilisant des exemples clairs et réels.
Une fonction est un bloc de code autonome qui effectue une tâche spécifique. En décomposant des problèmes complexes en fonctions plus petites et réutilisables, vous améliorez la lisibilité, la maintenabilité et la testabilité.
En C++, vous rencontrerez deux catégories de fonctions :
- Fonctions de la bibliothèque standard – prédéfinies par le langage (ex.
sqrt(),abs()). - Fonctions définies par l'utilisateur – écrites par vous pour encapsuler une logique personnalisée.
Nous nous concentrerons sur les fonctions définies par l'utilisateur et couvrirons leur syntaxe, invocation et bonnes pratiques.
Fonctions définies par l'utilisateur en C++
C++ vous permet de définir des fonctions avec une signature claire : type de retour, nom et paramètres optionnels.
Syntaxe de déclaration de fonction
typeRetour nomFonction(parametre1, parametre2, ...) {
// corps de la fonction
}
Exemple : void saluer() affiche un salut. Les parenthèses vides indiquent aucun paramètre.
// déclaration de fonction
void saluer() {
cout << "Hello World";
}
Points clés :
- Nom de fonction :
saluer() - Type de retour :
void(aucune valeur retournée) - Paramètres : aucun (parenthèses vides)
- Corps : code à l'intérieur de
{}
Note : Les types de retour et paramètres seront explorés plus tard.
Appel d'une fonction
Pour utiliser saluer(), invoquez-la simplement là où nécessaire.
int main() {
saluer();
}

Exemple 1 : Afficher du texte
#include <iostream>
using namespace std;
void saluer() {
cout << "Salut là !";
}
int main() {
saluer();
return 0;
}
Sortie
Salut là !
Paramètres de fonction
Les paramètres sont des emplacements réservés pour les valeurs passées à une fonction.
void afficherNombre(int num) {
cout << num;
}
En appelant afficherNombre, fournissez un argument :
int main() {
int n = 7;
afficherNombre(n);
return 0;
}
Exemple 2 : Fonction avec plusieurs paramètres
#include <iostream>
using namespace std;
void afficherNombre(int n1, float n2) {
cout << "Le nombre entier est " << n1;
cout << "Le nombre double est " << n2;
}
int main() {
int num1 = 5;
double num2 = 5.5;
afficherNombre(num1, num2);
return 0;
}
Sortie
Le nombre entier est 5 Le nombre double est 5.5
Assurez-vous que les types d'arguments correspondent aux paramètres déclarés.

Instructions de retour
Les fonctions peuvent retourner des valeurs. Spécifiez le type de retour et utilisez return pour fournir le résultat.
int ajouter(int a, int b) {
return a + b;
}
Appel de ajouter et stockage du résultat :
int somme = ajouter(100, 78);
cout << "100 + 78 = " << somme << endl;
Exemple 3 : Addition de deux nombres
#include <iostream>
using namespace std;
int ajouter(int a, int b) {
return a + b;
}
int main() {
int somme = ajouter(100, 78);
cout << "100 + 78 = " << somme << endl;
return 0;
}
Sortie
100 + 78 = 178
Prototypes de fonction
Quand une fonction est définie après sa première utilisation, un prototype informe le compilateur de sa signature.
// Prototype
void ajouter(int, int);
int main() {
ajouter(5, 3);
return 0;
}
// Définition
void ajouter(int a, int b) {
cout << (a + b);
}
Syntaxe du prototype :
typeRetour nomFonction(typeParam1, typeParam2, ...);
Exemple 4 : Utilisation d'un prototype
#include <iostream>
using namespace std;
int ajouter(int, int);
int main() {
int somme = ajouter(100, 78);
cout << "100 + 78 = " << somme << endl;
return 0;
}
int ajouter(int a, int b) {
return a + b;
}
Sortie
100 + 78 = 178
Avantages des fonctions définies par l'utilisateur
- Encapsulation : Grouper le code lié en un seul bloc réutilisable.
- Lisibilité : Décomposer la logique complexe en fonctions descriptives.
- Maintenabilité : Mettre à jour la logique en un seul endroit sans toucher chaque appel.
- Testabilité : Isoler la fonctionnalité pour les tests unitaires.
Fonctions de la bibliothèque standard
La bibliothèque standard C++ offre une multitude de fonctions prêtes à l'emploi qui simplifient les tâches courantes. Exemples incluent sqrt(), abs() et isdigit().
Pour utiliser une fonction de bibliothèque, incluez l'en-tête où elle est déclarée. Pour les opérations mathématiques, #include <cmath> apporte sqrt(), pow(), etc.
Exemple 5 : Calcul d'une racine carrée
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double nombre = 25.0;
double racineCarree = sqrt(nombre);
cout << "Racine carrée de " << nombre << " = " << racineCarree;
return 0;
}
Sortie
Racine carrée de 25 = 5
La déclaration de la fonction sqrt() réside dans l'en-tête cmath, c'est pourquoi la directive #include <cmath> est requise.
Pour une plongée plus profonde dans les fonctions de bibliothèque C++, voir la référence de la bibliothèque standard C++.
Langue C
- Maîtriser les opérateurs C++ : Guide complet avec exemples pratiques
- Commentaires C++ : Bonnes pratiques pour un code lisible et maintenable
- Comment passer des tableaux aux fonctions en C++ : Guide pratique
- Fonctions amies et classes amies en C++ : Maîtriser le contrôle d'accès
- 10 fonctions essentielles d'Insight pour optimiser l'impression FDM Stratasys
- Surcharge d'opérateurs en C++ : Guide pratique avec exemples de code
- Maîtriser les fonctions lambda Python : exemples pratiques et bonnes pratiques
- Maîtriser les Fonctions Verilog pour une Conception RTL Efficace
- Maîtriser les fonctions en C : Structure, déclaration et bonnes pratiques