Comprendre les déclarations d'ami en C
La déclaration "ami" en C est un mécanisme puissant qui permet aux classes d'accéder aux membres privés ou protégés d'une autre classe.
1. Quand utiliser ami
2. Surcharge des opérateurs et déclarations d'amis
La surcharge des opérateurs est un moyen d'étendre les fonctionnalités des opérateurs pour travailler sur des classes définies par l'utilisateur. En déclarant la fonction opérateur comme ami de la classe, l'opérateur peut accéder directement aux membres privés. Cela permet des implémentations propres et intuitives des opérateurs.
3. Exceptions d'encapsulation
Les déclarations d'ami semblent contredire les principes de la programmation orientée objet, où l'encapsulation restreint l'accès aux détails internes d'un objet. Cependant, dans certains cas, les déclarations d'ami peuvent être justifiées dans la rigueur de la POO :
Exemple de code
Considérons l'exemple suivant :
class Window { friend class WindowManager; private: int width; int height; }; class WindowManager { public: void resize(Window& window, int newWidth, int newHeight) { window.width = newWidth; window.height = newHeight; } };
Dans cet exemple, la classe Window possède des données membres privées (largeur et hauteur) qui ne peuvent être modifiées que par la classe WindowManager. En déclarant WindowManager comme ami, la méthode resize peut accéder et manipuler les données privées membres.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!