一、友元函数
1、概念:为了实现类体外的一般函数或者另一个类的成员函数对该类体内的成员函数直接访问的目的而定义的,友元函数可以访问类中的private或者protect修饰的成员。
注:友元函数并不是类中的成员函数,它是定义在类外的普通函数,只是在类中进行了声明该函数可以访问类中的private和protect成员。
2.、友元函数的声明格式:
friend <返回类型><函数名>(参数列表);
注:(1)友元函数可以访问类中的私有成员,但不可以直接使用数据成员,需要通过对象进行引用。
(2)友元函数在调用上同一般函数一样,不必通过对象进行引用。
二、友元类
1、概念:当一个类是另一个类的友元类时,该类中的所有成员函数都是这个类的友元函数。
2、格式:
friend class <类名>;
eg:class A
{
public:
friend class B; //B是A的友元类
}