Funkce přítele
A friend funkce je funkce, která není členem třídy, ale má přístup k soukromé a chráněné členy třídy.Přítel funkce nejsou považovány za členy třídy; jsou normální externí funkce, které jsou uvedeny zvláštní přístupová oprávnění.Přátelé nejsou třídy oboru a není nazývají výběr členů operátory (. – a**>**) Pokud nejsou členy jiné třídy.A friend funkce je deklarována třídy, která je udělení přístupu.friend Prohlášení může být umístěna kdekoliv v deklaraci třídy.Nejsou ovlivněny klíčová slova řízení přístupu.
Následující příklad ukazuje Point třídy a funkce přítele, ChangePrivate.friend Funkce má přístup k soukromých dat člen Point objekt obdrží jako parametr.
Příklad
// 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();
}