Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre The Friend Keyword | Aperçu de l'Encapsulation
C++ Oop
course content

Contenu du cours

C++ Oop

C++ Oop

1. Fondamentaux de la POO en C++
2. Constructeurs et Destructeurs
3. Aperçu de l'Encapsulation
4. Aperçu de l'Héritage
5. Aperçu du Polymorphisme

book
The Friend Keyword

Le mot-clé friend se présente comme une construction unique, offrant un écart par rapport aux principes standard d'encapsulation de la programmation orientée objet. Il permet à une fonction ou à une autre classe d'accéder aux membres privés et protégés d'une classe.

cpp

main

copy
1234567891011121314151617
#include <iostream> class Example { private: const static int static_private_member = 0; friend void func(); // grants access to the private members to func() }; void func() { std::cout << Example::static_private_member << std::endl; } int main() { func(); }

Utiliser cette approche brise l'encapsulation car elle permet à des entités extérieures d'accéder aux membres de la classe. Cependant, il peut y avoir des situations où cela est nécessaire. Par exemple :

h

KeyManager

copy
123456
class KeyManager { public: KeyManager(const std::string& key) : encryptionKey(key) {} private: std::string encryptionKey; };

Dans cet exemple, la clé de chiffrement est gardée privée, et il n'y a pas de méthode d'accès fournie car nous voulons empêcher l'accès externe à celle-ci depuis l'extérieur de la classe. Mais que se passe-t-il s'il est nécessaire d'utiliser un algorithme externe pour chiffrer et déchiffrer, c'est là que le keyword ami entre en jeu.

h

KeyManager

h

CryptographicAlgorithm

copy
12345678910
#include "CryptographicAlgorithm.h" class KeyManager { public: KeyManager(const std::string& key) : encryptionKey(key) {} private: std::string encryptionKey; // Allow CryptographicAlgorithm access to private members friend class CryptographicAlgorithm; };

Le cas d'utilisation le plus courant pour le mot-clé friend survient lorsque des correctifs rapides sont nécessaires, et que vous avez l'intention de le refactoriser plus tard. Il est préférable de concevoir vos relations de classe sans y recourir, bien que des scénarios spécifiques puissent encore se produire.

À quoi sert le mot-clé friend ?

À quoi sert le mot-clé friend ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 7
We're sorry to hear that something went wrong. What happened?
some-alt