1。类还有友元类,一个友元类可以访问类的私有数据,而非友元类则不能访问类的私有数据,这就实现了类的封装。
2。 一个类作为另一个类的友元时,该类称为友元类。友元类的所有成员函数都是另一个类的友元函数,都可以访问另一个类中的隐藏信息(包括私有成员和保护成员)。
友元类可以在另一个类的公有部分或私有部分进行说明,说明方法如下:
friend <类名>; //友元类类名
使用友元类时注意:
(1) 友元关系不能被继承。
(2) 友元关系是单向的,不具有交换性。若类X是类Y的友元,类Y不一定是类X的友元,要看在类中是否有相应的声明。
(3) 友元关系不具有传递性。若类X是类Y的友元,类Y是Z的友元,类X不一定是类Z的友元