1. 友元类
1.1 友元类的概念
- 友元类:与函数相同,类也可以作为另一个类的友元类,这样,另一个类的私有及其保护成员都会暴露给友元类。
- 友元类:可以通过自己的方法来访问另一个类的所有成员。但是这并不代表另一个类可以访问它的友元类的所有成员。
- 具体的说:当一个类B成为了另外一个类A的“朋友”时,那么类A的私有和保护的数据成员就可以被类B访问。我们就把类B叫做类A的友元。
注:C++编程中如果需要访问非本类的私有成员,那么就需要用到友元。否则私有成员是无法被外部直接访问的,而友元可以被定义为友元函数和友元类,即指定某函数或类直接访问私有类。
1.2 友元类的应用
- 友元类的用途:友元类可以通过自己的方法来访问把它当做朋友的那个类的所有成员。但是我们应该注意的是,我们把类B设置成了类A的友元类,但是这并不会是类A成为类B的友元。说白了就是:甲愿意把甲的秘密告诉乙,但是乙不见得愿意把乙自己的秘密告诉甲。
友元类的声明方法和其用法:
class A { friend class B;//这样类B就成为了类A的友元类,类B可以像类A一样访问类A的所有成员。 };
友元类的示例代码:
#include