Il est parfois nécessaire de donner la possibilité à des fonctions ou classes non membres d'une classe d'accéder à des données privées de cette classe. Pour cela, on dispose de l'opérateur friend. Ces fonctions ou classes sont définies dans la section publique de la classe.
class Moi {
public:
...
friend class MonAmie ;
frient int fonctionAmie () ;
private:
...
} ;