友元函数是指某些虽然不是类成员却能够访问类的所有成员的函数。。类授予它的友元特别的访问权。通常同一个开发者会出于技术和非技术的原因,控制类的友元和成员函数(否则当你想更新你的类时,还要征得其它部分的拥有者的同意)

class Tdate
{
private:
     int test;
     int fun();
public:
    friend int tfun(Tdate d1);  //定义为友元函数
};
int tfun(Tdate d1)  //友元函数不是类的成员函数
{
    //Tdate d1;
    d1.fun();
    d1.test; //在友元函数里,可以访问类的所有成员(包括受保护的私有成员),不是友元函数的话,是不能访问受保护函数的。
    return 1;
 }