C++ Fonctions amies
Une fonction amie d'une classe est définie en dehors de la classe, mais a le droit d'accéder à tous les membres privés et protégés de la classe. Bien que le prototype de la fonction amie apparaisse dans la définition de la classe, la fonction amie n'est pas une fonction membre.
Un ami peut être une fonction, appelée fonction amie ; un ami peut aussi être une classe, appelée classe amie. Dans ce cas, la classe entière et tous ses membres sont amis.
Pour déclarer une fonction comme amie d'une classe, vous devez utiliser le mot-cléfriendavant le prototype de la fonction dans la définition de la classe, comme montré ci-dessous :
class Box
{
double width;
public:
double length;
friend void printWidth( Box box );
void setWidth( double wid );
};
Pour déclarer toutes les fonctions membres de la classe ClassTwo comme amies de la classe ClassOne, vous devez placer la déclaration suivante dans la définition de la classe ClassOne :
friend class ClassTwo;
Veuillez regarder le programme suivant :
Exemple
Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :
Width of box : 10autres extensions