用friend可以让一个函数访问一个类的对象的私有成员,如果想让一个函数访问2个类的对象的私有成员,则必须在第2个类中也声明该函数为友元函数
(1)CA.h:
class CB;//前向声明使用CB类
class CA
{
public:
friend void FUNC( CA* pa, CB* pb);//友元函数
}
---------------------
(2)CB.h:
class CA;//前向声明使用CA类
class CB
{
public:
friend void FUNC( CA* pa, CB* pb);//友元函数
}
---------------------
(3)CA.cpp:
void FUNC( CA* pa, CB* pb){}//友元函数的实现
---------------------------------------------------------------
总结:
一个普通函数可以是(多个)类的友元函数。这类普通函数的参数都有类的对象,从而通过该对象,操作该类的私有成员,该函数被当作全局函数。
本文介绍了如何使用友元函数来访问两个不同类的私有成员。通过在两个类中分别声明同一函数为友元,该函数即可同时访问这两个类的私有成员。文中给出了具体的代码示例,展示了这一特性的实现方式。
322

被折叠的 条评论
为什么被折叠?



