در C++، یک تابع friend، تابعی است که با اینکه درون یک کلاس تعریف نشده است ولی به توابع اعضای protected و private آن کلاس دسترسی دارد.
	در مثال زیر کلاس Point یک تابع friend با نام ChangePrivate دارد:
// friend_functions.cpp
#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();
}