在 C/C++ 中,一种特殊关系允许一个类许可另一个类访问它的私有数据区。被授予了许可权的类就成为共享类的友元。作为另一个类的友元的类可以访问共享类的所有数据和方法。
例如,Customer 类为 Account 类授予许可权,以便 Account 类可以使用有关客户的个人信息。Account 类就成为 Customer 类的友元。这种关系使 Account 类更容易执行它的任务,这是因为它可以访问 Customer 类。
如下表中的图所示,许可权关系是由两个类之间的带有开口箭头的虚线连接器表示的,开口箭头指向友元类或者有权访问共享类的私有数据和方法的类。
| C/C++ 源代码 | UML 可视化 |
![]() |
![]() |