Condividi tramite


Funzioni friend

In friend la funzione è una funzione che non è un membro di una classe ma ha accesso ai membri privati e protetti della classe.Le funzioni friend non sono considerate membri della classe, sono funzioni esterne di normale fornite con i privilegi di accesso speciali.Elementi friend non sono sotto la classe e vengono chiamati utilizzando gli operatori di selezione dei membri (. e ->) a meno che non siano membri di un'altra classe.In friend la funzione viene dichiarata dalla classe nella concessione di accesso.friend la dichiarazione può essere posizionato in un punto qualsiasi della dichiarazione di classe.Non è interessato dalle parole chiave di controllo di accesso.

Nell'esempio seguente viene illustrato un oggetto Point classe e una funzione friend, ChangePrivate.friend la funzione ha accesso al membro dati privato di Point oggetto che riceve come parametro.

Esempio

// 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();
}
  

Vedere anche

Riferimenti

friend (C++)