Démontrer la fonction amie

C++C++Beginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons apprendre à démontrer le concept de Friend Function dans le langage de programmation C++. Nous allons créer une classe Volume avec des variables membres privées et utiliser une Friend Function pour accéder à ces variables privées en dehors de la classe.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/FunctionsGroup(["Functions"]) cpp(("C++")) -.-> cpp/OOPGroup(["OOP"]) cpp/FunctionsGroup -.-> cpp/function_parameters("Function Parameters") cpp/OOPGroup -.-> cpp/classes_objects("Classes/Objects") cpp/OOPGroup -.-> cpp/access_specifiers("Access Specifiers") cpp/OOPGroup -.-> cpp/constructors("Constructors") cpp/OOPGroup -.-> cpp/encapsulation("Encapsulation") subgraph Lab Skills cpp/function_parameters -.-> lab-96140{{"Démontrer la fonction amie"}} cpp/classes_objects -.-> lab-96140{{"Démontrer la fonction amie"}} cpp/access_specifiers -.-> lab-96140{{"Démontrer la fonction amie"}} cpp/constructors -.-> lab-96140{{"Démontrer la fonction amie"}} cpp/encapsulation -.-> lab-96140{{"Démontrer la fonction amie"}} end

Créer la classe Volume

Tout d'abord, créez un nouveau fichier C++ dans le répertoire ~/projet avec le nom main.cpp, puis ajoutez le code suivant pour définir la classe Volume :

#include <iostream>

using namespace std;

//Classe Volume pour démontrer le concept de Friend Function en CPP
class Volume {
    //Les variables membres sont déclarées en tant que privées et ne peuvent donc pas être simplement accessibles depuis l'extérieur de la classe
    private:
        int liter;

    //Initialisation de la valeur de la variable liter à 2 à l'aide du constructeur par défaut
    public:
        Volume(): liter(2) {}
};

Nous définissons une classe Volume avec une variable membre privée liter qui ne peut pas être directement accédée depuis l'extérieur de la classe.

Décarer une Friend Function pour la classe Volume

Maintenant, déclarez une Friend Function pour la classe Volume qui nous permettra d'accéder aux variables privées de cette classe en dehors de la classe.

//Déclaration de la Friend Function pour la classe Volume
friend int mulFive(Volume);

Nous déclarons une Friend Function nommée mulFive() qui prend un objet Volume en entrée et renvoie une valeur entière.

Définir la Friend Function

Maintenant, définissez la fonction mulFive() qui utilisera la fonctionnalité Friend Function pour accéder à la variable privée de la classe Volume. Ajoutez le code suivant pour définir la fonction mulFive() :

// Définition de la Friend Function à utiliser par la classe Volume
int mulFive(Volume v) {
    //La fonction amie permet d'accéder aux données privées à partir d'une fonction non membre
    v.liter *= 5;
    return v.liter;
}

Nous définissons une fonction mulFive() qui a accès à la variable privée liter de Volume à l'aide de la fonctionnalité Friend Function. Cette fonction multiplie la variable liter par 5 et la renvoie.

Appeler la Friend Function dans la fonction main()

Dans la fonction main(), créez un objet de la classe Volume et appelez la fonction mulFive() pour accéder et manipuler les données privées de la classe Volume. C'est la dernière et la plus importante étape.

//Définition de la méthode principale pour accéder aux membres de la classe
int main() {

    cout << "\n\nBienvenue à LabEx :-)\n\n\n";
    cout << " =====  Programme pour démontrer le fonctionnement d'une Friend Function en CPP  ===== \n\n";

    //Déclaration des objets de classe pour accéder aux membres de la classe
    Volume vol;

    cout << "Volume après avoir appelé la Friend Function = " << mulFive(vol);

    cout << "\n\n\n";

    return 0;
}

Nous définissons une fonction main() qui crée un objet de la classe Volume et appelle la fonction mulFive() pour accéder aux données privées de la classe Volume.

Sommaire

Dans ce laboratoire, nous avons appris à démontrer le concept de Friend Function dans le langage de programmation C++ en créant une classe Volume et en utilisant une Friend Function pour accéder aux variables privées de cette classe en dehors de la classe. Une Friend Function est une fonction non membre qui a accès aux membres privés d'une classe, et elle peut être utile dans certains cas pour manipuler ou accéder aux données privées d'une classe.