【C++ Primer】第十五章 友元、异常和其他 --之一--->友元和嵌套类
一,友元
1)可以将类作为友元,友元类的所有方法都可以访问原始类的私有成员和保护成员。
2)下面例子介绍了 电视类和遥控器类,其中遥控器类为电视类的友元类
3)注意:友元关系不具对称性。即 A 是 B 的友元,但 B 不一定是 A 的友元。 友元关系不具传递性。即 B 是 A 的友元,C 是 B 的友元,但是 C 不一定是 A 的友元。
输出为:
二,嵌套类
1)嵌套与包含的区别
包含意味着将类对象作为另一个类的成员
对类进行嵌套,不创建类成员,而是定义了一种类型,该类型仅在包含嵌套类的类中使用。struct (结构)实际上是一种嵌套类
2)嵌套类和访问权限
声明位置 | 包含它的类是否可以使用 | 从包含它的类派生出来的类,是否可以使用 | 外部世界是否可以使用 |
私有部分 | 是 | 否 | 否 |
保护部分 | 是 | 是 | 否 |
共有部分 | 是 | 是 | 是 |