Partager via


Friend

Une fonction d' friend est une fonction qui n'est pas membre d'une classe mais a accès aux membres privés et protégés de la classe.Les friend ne sont pas considérées comme des membres de classe ; ce sont des fonctions externes de normale qui sont données des privilèges d'accès spéciaux.Les fonctions friend ne sont pas dans la portée de la classe, et elles ne sont pas appelées à l'aide de les opérateurs de sélection des membres (. et ->) à moins qu'elles soient les membres d'une autre classe.une fonction d' friend est déclarée par la classe qui accorde l'accès.La déclaration d' friend peuvent être placées n'importe où dans la déclaration de classe.il n'est pas affecté par les mots clés de contrôle d'accès.

L'exemple suivant illustre une classe d' Point et une fonction friend, ChangePrivate.La fonction d' friend a accès au membre de données privées de l'objet d' Point qu'il reçoit comme paramètre.

Exemple

// friend_functions.cpp
// compile with: /EHsc
#include <iostream>

using namespace std;
class Point
{
    friend void ChangePrivate( Point & );
public:
    Point( void ) : m_i(0) {}
    void PrintPrivate( void ){cout << m_i << endl; }

private:
    int m_i;
};

void ChangePrivate ( Point &i ) { i.m_i++; }

int main()
{
   Point sPoint;
   sPoint.PrintPrivate();
   ChangePrivate(sPoint);
   sPoint.PrintPrivate();
}
  

Voir aussi

Référence

fonction friend (C++)