Quelle est la différence entre la fonction d'ami et la classe d'amis? et où devrait utiliser un mot-clé ami? p>
5 Réponses :
En bref, on est une classe et une fonction est une fonction. Pour la fonction, une seule fonction accède à des membres privés. Pour une classe, toute la classe et toutes ses fonctions permettent d'accéder aux membres privés de la classe d'amitié. P>
Le mot-clé ami est utilisé pour accorder l'accès aux membres de données privés. Vous pouvez parfois avoir besoin d'une classe d'assistance ou d'une classe complémentaire pour accéder aux membres privés d'une classe différente. Pour les fonctions, un exemple courant est une surcharge de l'opérateur. Peut-être que vous voulez surcharger l'opérateur +. Vous pouvez faire une fonction opérateur + déclarée à l'extérieur de la classe (afin que cela puisse être appelé sans objet) et il faudra accéder aux données de la classe privée. P>
Consultez Ce site pour une description détaillée des deux et comment les utiliser. p>
+1 CODE> Pour trouver plus de choses à dire à ce sujet que la première phrase. J'aurais complètement échoué à cela.
classe d'amis A; code> li>
- En écrivant une classe, le mot-clé code> code> n'est pas requis. LI>
- avec un
ami code> Nous pouvons accéder aux membres d'une classe dans une autre. Li>
ol>
1) La fonction d'amis est utilisée pour accéder à la variable de données privée des classes où la fonction membre est utilisée pour accéder à la variable de données privée de la même classe. P>
2) Vous pouvez appeler la fonction d'amis dans la fonction principale sans objet, mais pour appeler la fonction de membre de la classe U, il suffit de créer un objet de la même classe. P>
3) La fonction d'amis peut être traitée comme une fonction non membre, mais la fonction de membre n'est pas traitée comme une fonction non membre de la classe. P>
Une fonction d'ami est utilisée pour accéder au membre non public d'une classe. La classe peut permettre une fonction non membre et d'autres classes d'accéder à ses propres données privées en leur faisant des amis. Une classe d'amis a un accès complet à des membres privés de données d'une autre classe sans être membre de cette classe. P>
Mot-clé ami peut également être utilisé avec la fonction et la classe. P>
Cela signifie que si une classe est déclarée comme ami, elle a accès à tous les membres de données (privés et publics) de la classe qui l'a déclarée comme ami. P>
J'ai déjà expliqué la différence entre eux avec des exemples dans mon blog: Différence entre la fonction d'ami et la classe d'amis p>
@DumbCoder: C'est une bonne question connexe sans être une vraie dupe. (Je sais que vous n'allez pas que cela soit une dupe, mais j'écris ce commentaire quand même pour empêcher les autres de sauter à la conclusion.)