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: ... } ;