Outils pour utilisateurs

Outils du site


code_language:c

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
code_language:c [2025/12/17 23:51]
216.73.216.214 ancienne révision (2025/10/31 20:29) restaurée
code_language:c [2025/12/17 23:53] (Version actuelle)
216.73.216.214 ancienne révision (2025/10/31 20:29) restaurée
Ligne 426: Ligne 426:
  
 ===== Fonctions ===== ===== Fonctions =====
 +=== Declaration ===
   * Fonction avec paramètre:   * Fonction avec paramètre:
     * <code c++> int addition(int a, int b)     * <code c++> int addition(int a, int b)
Ligne 437: Ligne 437:
     return a*b*c;     return a*b*c;
 } </code> } </code>
 +  * Fonction avec paramètre dont certain ont une valeur par défaut c'est a dire ne sont pas obligatoire:
 +    * <code c++> #include <iostream>
  
 +using namespace std;
 +
 +// Prototype avec les valeurs par défaut
 +int nombreDeSecondes(int heures, int minutes = 0, int secondes = 0);
 +
 +// Main
 +int main()
 +{
 +    cout << nombreDeSecondes(1, 10, 25) << endl;
 +
 +    return 0;
 +}
 +
 +// Définition de la fonction, SANS les valeurs par défaut
 +int nombreDeSecondes(int heures, int minutes, int secondes)
 +{
 +    int total = 0;
 +
 +    total = heures * 60 * 60;
 +    total += minutes * 60;
 +    total += secondes;
 +
 +    return total;
 +} </code>
 +  * Ici on voit que l'on met les valeur par défaut uniquement dans la déclaration de la fonction dans le fichier .hpp. Attention si on fait appelle une fonction avec 3 paramètre, on ne peut pas renseigner le premier et le dernier ( INTERDIT), si on veut renseigné le dernier paramètre sans celui du milieu on est obligé de déclarer le paramètre du milieu avec notamment une valeur par défaut.
   * Fonction sans paramètre:   * Fonction sans paramètre:
     * <code c++> string demanderNom()     * <code c++> string demanderNom()
Ligne 462: Ligne 489:
     return 0;     return 0;
 } </code> } </code>
 +
 +=== Fichier source et fichier d'en-tête ===
 +  * Un fichier source dont l'extension est .cpp contient le code source de la fonction.
 +    * Le fichier math.cpp doit contenir un include "math.hpp" pour que les deux fichier soit lié:
 +      * <code c++> #include "math.hpp"
 +
 +int ajouteDeux(int nombreRecu)
 +{
 +    int valeur(nombreRecu + 2);
 +
 +    return valeur;
 +} </code>
 +  * Un fichier d'en-tête dont l'extension est .hpp contient uniquement la description de la fonction, ce qu'on appelle le prototype de la fonction.
 +    * Le fichier doit contenir ses trois lignes pour empêcher d'inclure plusieurs fois le même .cpp
 +      * <code c++>#ifndef MATH_HPP_INCLUDED
 +#define MATH_HPP_INCLUDED
 +
 +#endif // MATH_HPP_INCLUDED</code>
 +  * voici un exemple de déclaration de fonciton:
 +    * <code c++>#ifndef MATH_HPP_INCLUDED
 +#define MATH_HPP_INCLUDED
 +
 +int ajouteDeux(int nombreRecu);
 +
 +#endif // MATH_HPP_INCLUDED </code>
 +  * Si le paramètre de notre fonction est de type string il faut ajouté en include les string et faire précedé le type par son nom de domaine, ici std:
 +    * <code c++>#ifndef MATH_HPP_INCLUDED
 +#define MATH_HPP_INCLUDED
 +
 +#include <string>
 +
 +void afficherMessage(std::string message);
 +
 +#endif // MATH_HPP_INCLUDED </code>
 +  * L'autre élément important est l'ajout de std::  devant le mot string  . Il s'agit de la marque d'un espace de nom.
 +  * std apparaît dans tous nos fichiers source via la ligne using namespace std  . Comme il n'y a pas de telle ligne ici (et qu'il est très vivement déconseillé de la mettre dans un fichier d'en-tête), il nous faut utiliser le nom complet du type string   , qui est std::string
 +  * Inclure tout cela dans la fichier main.cpp
 +    * <code c++> #include <iostream>
 +#include "math.hpp"
 +using namespace std;
 +
 +int main()
 +{
 +    int a(2),b(2);
 +    cout << "Valeur de a : " << a << endl;
 +    cout << "Valeur de b : " << b << endl;
 +    b = ajouteDeux(a);                     //Appel de la fonction
 +    cout << "Valeur de a : " << a << endl;
 +    cout << "Valeur de b : " << b << endl;
 +
 +    return 0;
 +} </code>
 +  * Dans le fichier .hpp il est recommander de mettre en commantaire ce que fait la fonction, la liste des arguments, les caracteristique de la valeur retournée.
 +
 +
 ===== Programmation avancée ===== ===== Programmation avancée =====
 === Argument de fonction passé par Valeur ==== === Argument de fonction passé par Valeur ====
Ligne 515: Ligne 597:
  
 === Methode de classe === === Methode de classe ===
 +
  
  
code_language/c.1766015516.txt.gz · Dernière modification: 2025/12/17 23:51 de 216.73.216.214