Fonction d'ami C ++

Fonction d'ami C ++
Une fonction est un bloc de code qui effectue une certaine tâche et fournit la sortie. Il est principalement utilisé pour éliminer le code répétitif. Dans ce tutoriel, nous examinerons la fonction d'ami dans C ++ et expliquerons son concept avec des exemples de travail.

Quelle est la fonction d'ami?

La fonction d'ami est une fonction non membre qui peut accéder aux membres privés et protégés d'une classe. «Friend» est un mot-clé utilisé pour indiquer qu'une fonction est l'ami d'une classe. Cela permet au compilateur de savoir que la fonction particulière est un ami de la classe donnée. La fonction d'ami devrait alors pouvoir accéder au membre privé et protégé d'une classe donnée. Sans le mot-clé ami, une fonction extérieure non membre ne peut accéder qu'aux membres publics d'une classe.

Caractéristiques clés de la fonction d'ami:

Voici les principales caractéristiques de la fonction d'ami:

  1. Une fonction d'ami n'est pas dans la portée de la classe.
  2. La fonction d'ami ne peut pas être invoquée en utilisant une instance d'une classe.
  3. Il peut accéder aux membres à l'aide de l'opérateur d'objet et de points.

Syntaxe de la fonction d'ami:

Voici la syntaxe de la fonction d'ami:

classe class_name_demo



ami return_type function_name (arg_1, arg_2,…);
;

Exemple de fonction d'ami:

Maintenant, examinons un exemple de programme pour comprendre le concept de la fonction d'ami en C++. Dans l'exemple ci-dessous, nous avons la classe «Friend_demo». Il a trois types différents de membres de données, je.e., privé, protégé et public.

Nous avons défini une autre fonction, je.e., "FriendDemo_Func ()" en dehors de la portée de la classe "Friend_demo" et a essayé d'accéder aux membres (privés, protégés et publics) de la classe "Friend_demo".

Mais, comme vous pouvez le voir dans la sortie ci-dessous lorsque nous compilons le programme, il lance les erreurs de compilation. La fonction d'ami va résoudre exactement ce problème.

#inclure
Utilisation de Namespace Std;
classe Friend_demo

privé:
int i_private;
protégé:
int i_protected;
public:
int i_public;
;
void amidemo_func ()

Ami_demo fd;
FD.i_private = 10;
FD.i_protected = 15;
FD.i_public = 20;
couter << fd.i_private << endl;
couter << fd.i_protected << endl;
couter << fd.i_public << endl;

int main()

FriendDemo_Func ();
retour 0;

Dans le programme précédent, nous obtenions des erreurs de compilation tout en essayant d'accéder aux membres privés, protégés et publics d'une classe à partir d'une fonction non-membre. En effet.

Maintenant, dans cet exemple, nous avons déclaré "FriendDemo_Func ()" fonctionne comme un ami dans la portée de la classe, je.e., «Friend_demo»:

ami void FriendDemo_func ();

Nous avons créé un objet, je.e., "FD" de la classe "Friend_demo" à l'intérieur de la fonction "FriendDemo_Func ()". Maintenant, nous pouvons accéder aux membres privés, protégés et publics de la classe «Friend_demo» en utilisant l'opérateur DOT. Nous avons attribué 10, 15 et 20 à i_private, i_protected et i_public, respectivement.

Comme vous pouvez le voir dans la sortie ci-dessous, ce programme est maintenant compilé et exécuté sans aucune erreur et imprimez la sortie comme prévu.

#inclure
Utilisation de Namespace Std;
classe Friend_demo

privé:
int i_private;
protégé:
int i_protected;
public:
int i_public;
ami void FriendDemo_func ();
;
void amidemo_func ()

Ami_demo fd;
FD.i_private = 10;
FD.i_protected = 15;
FD.i_public = 20;
couter << fd.i_private << endl;
couter << fd.i_protected << endl;
couter << fd.i_public << endl;

int main()

FriendDemo_Func ();
retour 0;

Conclusion:

Dans cet article, j'ai expliqué le concept de la fonction d'amis en C++. J'ai également montré deux exemples de travail pour expliquer comment la fonction d'ami se comporte en c++. Parfois, la fonction d'ami peut être très utile dans un environnement de programmation complexe. Cependant, un programmeur devrait être prudent de son surutilisation et de la compromission de ses caractéristiques OOP.