当我们需要让一些函数或类对某个类的非公有成员具有访问能力时,就可以使这些函数或类成为被访问类的友元,以friend为关键字。
需要注意的有以下几点:
1、友元的声明只能出现在类定义的内部。
2、可以声明另一个类为本类的友元,那么那个类的成员函数都可以访问本类的所有成员,也可以声明另一个类的某个成员函数为友元,那么只有此函数才能访问本类的保护或私有成员。
3、在类中声明友元类时,必须先定义要声明为友元的那个类。
4、友元关系不能继承,基类的友元不是其派生类的友元,即基类的友元对派生类的成员没有特殊访问权限。