Fonctions en C++

Comprendre les Fonctions

Une fonction en C++ est un ensemble d'instructions qui s'exécutent ensemble lorsque la fonction est appelée. Il est essentiel chaque fonction possède un nom spécifique qui permet de l'invoquer.

Fonctions Intégrées

Le langage C++ propose un grand nombre de fonctions intégrées. Pour les utiliser, il est nécessaire d'importer la bibliothèque requise avec la directive #include. Par exemple, pour utiliser la fonction sqrt(), qui fait partie de la bibliothèque , on peut écrire :

#include 
#include 

int main() {
    std::cout << sqrt(10); // Affiche : 3.16228
}

Déclaration et Définition des Fonctions

Une fonction en C++ se compose de deux éléments essentiels : 1. Déclaration de la fonction : Elle indique le nom de la fonction, son type de retour et les paramètres éventuels.
2. Définition de la fonction : Il s'agit du corps de la fonction, où les instructions sont définies et qui est exécuté lorsqu'on appelle la fonction. Le corps est généralement encadré par des accolades.

Voici un exemple de ce concept :

#include 

// Déclaration de la fonction
void afficher();

// Fonction principale
int main() {
    afficher();
}

// Définition de la fonction
void afficher() {
    std::cout << "Affichage";
}

Fonctions de Type Void

En C++, une fonction déclarée comme void ne renvoie pas de valeur. Ces fonctions sont utilitaires pour exécuter un ensemble d'instructions où le retour d'une valeur n'est pas nécessaire.

Exemple :

#include 

void saluer() {
    std::cout << "Bonjour le Monde !";
}

int main() {
    saluer();
}

Valeurs de Retour

Lorsqu'une fonction doit renvoyer une valeur, elle doit inclure une instruction return. Le type de la valeur de retour doit également correspondre au type déclaré de la fonction. A l'inverse, pour une fonction void, il n'est pas nécessaire d'utiliser une instruction return.

#include 

int somme(int a, int b);

int main() {
    int r = somme(10, 20);
    std::cout << r;
}

int somme(int a, int b) {
    return (a + b);
}

Déclarations dans un Fichier d'En-tête

En C++, les fonctions comprennent généralement deux parties : déclaration et définition. Les déclarations de fonctions se trouvent souvent dans un fichier d'en-tête (.hpp ou .h), alors que les définitions sont dans un fichier .cpp.

Exemples de fichiers :
main.cpp

#include 
#include "fonctions.hpp"

int main() {
    std::cout << dire_bonjour("Sara");
}

fonctions.hpp

// Déclaration de la fonction
std::string dire_bonjour(std::string nom);

fonctions.cpp

#include 
#include "fonctions.hpp"

// Définition de la fonction
std::string dire_bonjour(std::string nom) {
    return "Salut, " + nom + " !\n";
}

Arguments de Fonction

En C++, les valeurs fournies à une fonction sont appelées arguments. Ces valeurs représentent les entrées de la fonction. Par exemple :

#include 

void afficher(int);

int main() {
    afficher(10); // L'argument 10 est reçu comme entrée
}

// Le paramètre a est défini pour la fonction afficher
void afficher(int a) {
    std::cout << a;
}

Surcharge des Fonctions

La surcharge de fonction désigne la capacité de créer plusieurs fonctions ayant le même nom mais différentes signatures (types et nombre de paramètres). Cela permet de réutiliser le même nom de fonction pour des contextes différents, acceptant différents types de données.

#include 
using namespace std;

void additionner(int a,int b) {
    cout << "Résultat avec des entiers : " << a + b << "\n";
}

void additionner(string a, string b) {
    cout << "Résultat avec des chaînes : " << a + b << "\n";
}

int main() {
    int a = 10, b = 20;
    string s = "Bonjour ", t = "Monde !";
    additionner(a, b);
    additionner(s, t);
}

Cette logique affichera :
Résultat avec des entiers : 30 Résultat avec des chaînes : Bonjour Monde !

Application des Fonctions dans le Développement Web

Les fonctions en C++ peuvent être particulièrement utiles pour le développement web lorsque l'on souhaite créer des applications robustes. En encapsulant des logiques spécifiques (comme la gestion des données utilisateur ou l'interaction avec une base de données), des fonctions bien définies permettent de rendre le code plus modulaire et plus facile à entretenir. Par exemple, si vous créez un site de e-commerce, vous pourriez avoir une fonction pour calculer le total d'un panier, une autre pour ajouter des articles, etc. En structurant ainsi votre code, vous facilitez la gestion de votre projet et l'évolutivité de vos applications.