Συναρτήσεις friend

Σε μια κλάση μπορούν να οριστούν συναρτήσεις με τον προσδιορισμό friend. Οι συναρτήσεις αυτές ορίζονται σε καθολικό επίπεδο και μπορούν να έχουν πρόσβαση στα στοιχεία private της κλάσης. Οι συναρτήσεις friend χρησιμοποιούνται όταν η χρήση των συναρτήσεων μέλους δεν είναι βολική, δηλαδή όταν η συνάρτηση πρέπει να έχει πρόσβαση στα στοιχεία ενός αντικειμένου αλλά δε θέλουμε να καλείται με τη σύνταξη της μεθόδου (αντικείμενο.μέθοδος()). Παράδειγμα:
class point {
private:
        int x, y;
        static int numpoints;
public:
        // ...
        friend void display(point& p);  // Display friend function
};


// Friend function; used as display(a)
void
display(point& p)
{
        cout << "(" << p.x << "," << p.y << ")\n";
}


main()
{
        point b = point(12);

        display(b);             // Friend function
}