在一个类中不仅仅只能声明另外一个函数为本类的友元函数,还可以声明一个类是本类的友元类。
形式:
class C{
//....
friend class B;
};
这样声明之后,类B就是类A的友元类了。这意味着,B类中的所有成员函数都是类A的友元函数,能存取类A中的私有成员和保护成员。
关于友元的说明:
友元关系不能被继承。
友元关系是单向的,不具有交换性。若类B是类A的友元类,而类A不一定是类B的友元类。
友元关系不具备传递性。若B是A的友元类,C是B的友元类,而C不一定是A的友元类。