这是一个运用友元函数的C++程序。
具体说明见注释。

/**********************************************************/
// 目的:该程序用来学习友元函数的运用
// 时间:2006-11-16
// 说明:
// 类CBook, CShelf分别用来定义书、书架
// CBook将CShelf的成员函数GetBookPos声明为友元,该函数访问了CBook对象的私有成员iPos(位置)。
// 这样,一个CShelf对象通过调用其成员函数便可访问一个CBook对象的私有变量。
/*
*********************************************************/

#include 
<iostream.h>

class CBook;    //
class CShelf;    //书架

class CShelf
{
public:
    
void GetBookPos(CBook& abook);    //获得一本书的位置
};

class CBook
{
    
//声明友元函数
    friend void CShelf::GetBookPos(CBook& abook)
    {
        cout
<< "Position: " <<abook.iPos <<endl;
    }
    
private:
    
int iPos;
public:
    CBook(
int num = 0)
    {
        iPos 
= num;
    }
};

int main()
{
    CBook shuben(
80);        //实例化一个书本对象
    CShelf shujia;            //实例化一个书架对象
    shujia.GetBookPos(shuben);    //书架对象通过友元函数访问书本对象的私有成员
    
    
return 0;
}