Catégorie > High Tech

Pourquoi avons-nous besoin de fonctions amies en C++ ?

Posté par Soudeisse, mise à jour le 10/02/2023 à 19:51:12

Pourquoi avons-nous besoin de fonctions amies en C++ ?


Posté par William D

Fondamentalement, les fonctions amies peuvent être introduites dans C++ pour gérer certaines tâches spécifiques liées aux objets de classe.

En C++, nous savons que les membres privés ne sont pas accessibles depuis la classe extérieure.
C'est-à-dire qu'une fonction non membre ne peut pas avoir accès aux données privées d'une classe.
Cependant, il pourrait y avoir une situation où nous voudrions que deux classes partagent une fonction particulière.

Considérons par exemple un cas où deux classes, gestionnaire et scientifique ont été définies.
Nous aimerions utiliser une fonction income_tax() pour opérer sur les objets de ces deux classes.
Dans une telle situation, C++ permet à la fonction commune d'être rendue conviviale avec les deux classes. Une telle fonction n'a pas besoin d'être membre de l'une de ces classes.
Pour rendre une fonction extérieure conviviale pour une classe, nous devons simplement déclarer cette fonction comme amie d'une classe comme indiqué ci-dessous :
Classe ABC
{
……
…..
Public :
……..
……..
Friend void xyz (void); //déclaration
} ;

Cette déclaration de fonction doit être précédée du mot-clé friend.
La fonction est définie ailleurs dans le programme comme une fonction c++ normale.
La définition de la fonction n'utilise ni le mot clé friend ni l'opérateur de portée ::
Les fonctions déclarées avec le mot clé friend sont appelées fonctions amies.
Une fonction peut être déclarée comme amie dans n'importe quel nombre de classes.
Une fonction amie, même si elle n'est pas une fonction membre, a des droits d'accès complets aux membres privés de la classe.

Posté par Djelane

-> Fonction amie normalement utilisée pour accéder au membre privé de la classe.
-> Avec l'aide de la fonction amie, nous pouvons accéder à différents objets de classe.
-> En surcharge d'opérateur, avec l'aide de la fonction amie, nous pouvons utiliser un argument de type de données primitif et l'argument défini par l'utilisateur dans une fonction.
-> Ce n'est pas une fonction membre de la classe.
-> Lorsque nous voulons une addition, une soustraction ... Sur une classe différente, nous pouvons facilement utiliser la fonction amie.

Posté par Mina

Les fonctions amies sont nécessaires pour établir des ponts entre les classes et donner la permission à une fonction normale d'accéder aux données privées d'une classe.

Posté par Laiterie

La fonction amie est nécessaire pour accéder aux variables privées évidemment.
Pour les données privées, les fonctions non membres ou les classes extérieures ne sont pas accessibles.

Posté par Helper

Ici => Explication sur les fonctions amies


Ajouter une réponse

Votre message :

:

Votre prénom:

Votre email:

:



A voir aussi :

Les dernières discussions:



Qui est Réponse Rapide?

Réponse rapide est un site internet communautaire. Son objectif premier est de permettre à ses membres et visiteurs de poser leurs questions et d’avoir des réponses en si peu de temps.

Quelques avantages de réponse rapide :

Vous n’avez pas besoins d’être inscrit pour poser ou répondre aux questions.
Les réponses et les questions des visiteurs sont vérifiées avant leurs publications.
Parmi nos membres, des experts sont là pour répondre à vos questions.
Vous posez vos questions et vous recevez des réponses en si peu de temps.

Note :

En poursuivant votre navigation, vous acceptez l'utilisation de cookies. En savoir plus