这是一个运用友元函数的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;
}
// 目的:该程序用来学习友元函数的运用
// 时间: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;
}
浙公网安备 33010602011771号