利用friend 关键字,可以将外界的一个函数声明为友元函数或者友元类。
友元函数可以定义在public ,protected,private 的任何一部分
class 类名
{
public:
friend 返回值类型 函数名 (参数列表)
{
...........
}
};
友元类的所有成员函数都可以成为另一个类的友元函数。
语法格式如下:
class 类名
{
friend class 友元类名;
// 类的其他定义和声明
};
友元类可以在类的外部进行定义。
PS: @ 友元关系不能被继承。比如我跟某个类是朋友,不代表我们能跟类的儿子是朋友。
@ 友元关系是单向的,不具有交换性。