友元就是提供了一种机制使得非类中的成员也能访问类中私有的函数
我们可以这样来理解
友元相当于我的好朋友,友元类相当于好朋友那一家。
下面我们有好朋友的这个思路来理解一下以下几点
- 如果类A声明为类B的友元类,那么类A的所有成员函数都自动成为类B的友元函数。
A是B的朋友,那么A的一家人都是B的好朋友 - 友元关系是单向传递的
A是B的好朋友,但B并不一定是A的好朋友 - 友元关系不具有传递性
也就是说C是B的朋友,A也是B的朋友,但是并不能说C就是A的朋友 - 友元可以实现数据共享,但是在一定程度上破坏了封装性