Différence entre la fonction d'ami et la classe d'ami
Contenu
La fonction Friend et la classe friend sont les techniques utilisées pour accéder aux membres privés d'une classe à l'aide du mot clé friend. La différence commune entre la fonction friend et la classe friend est que, lorsque la fonction friend est utilisée, les membres de la classe privée sont accessibles, mais que dans la classe friend, seuls les noms de la classe friend sont accessibles, et non les membres privés de la classe.
le fonctionnalité ami qu’elles soient utilisées par fonction ou par classe peuvent avoir un impact négatif sur le cadre orienté objet car elles affaiblissent la encapsulation qui est contre le orienté objet paradigme. C’est la raison pour laquelle la fonction ami doit être utilisée à bon escient, sinon elle pourrait Pause le masquage de données du code.
Cette fonctionnalité ami n'est ni commutatif et ni transitif. X est un ami de Y ne déduit pas que Y est aussi un ami de X. Si X est un ami de Y et Y est un ami de Z, cela n'implique pas que X est un ami de Z.
-
- Tableau de comparaison
- Définition
- Différences Clés
- Conclusion
Tableau de comparaison
Base de comparaison | Fonction d'ami | Classe d'ami |
---|---|---|
De base | C'est une fonction utilisée avec un mot clé friend pour accorder à une fonction non membre l'accès aux membres privés d'une classe. | C'est une classe utilisée avec un mot clé friend pour accéder aux membres privés d'une autre classe. |
Déclaration à terme | Doit être utilisé. | Pas obligatoire. |
Utilisation | Une fonction ami peut être utilisée dans certaines situations de surcharge de l'opérateur. | Une classe d'amis peut être utilisée lorsqu'une classe est créée au sommet d'une autre classe. |
Définition de la fonction d'ami
le fonction ami est utilisé pour accéder aux membres privés et protégés d'une classe en autorisant l'accès à la fonction non membre. Dans ce type de fonction, un mot clé ami est utilisé avant le nom de la fonction au moment de la déclaration. Certaines conditions restrictives s'appliquent à la fonction ami. La première condition est que la fonction friend ne soit pas héritée par une classe enfant. La deuxième condition est que le spécificateur de classe de stockage ne puisse pas être présent dans la fonction friend, ce qui signifie qu'il ne peut pas être déclaré comme statique et extern.
La fonction ami n'est pas appelée avec un objet appelant de la classe. Les exemples de fonction ami sont: une fonction globale, la fonction membre d'une classe, le modèle de fonction peut être une fonction ami. Comprenons-le à l'aide d'un exemple.
#comprendre Une fonction ami est requise lorsqu'une fonction doit accéder à deux classes indépendantes ou plus, membres internes. D'autre part, une classe d'amis est nécessaire lorsqu'une classe nécessite l'accès aux membres d'une autre classe. Lorsqu'une fonction à plusieurs membres doit être un ami de cette fonction, il est préférable d'utiliser la classe friend.
Conclusion