c++ primer plus 第15章友,异常和其他: 15.2.1 嵌套类和访问权限系
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:c++ primer plus 第15章友,异常和其他: 15.2.1 嵌套类和访问权限系
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
15.2.1 嵌套类和访问权限
有两种访问权限适合于嵌套类。首先,嵌套类的声明位置决定了嵌套类的作用域,即它决定了程序的哪些部分可以创建这种类的对象。其次,和其他类一样,嵌套类的公有部分、保护部分和私有部分控制了对类成员的访问。在哪些地方可以使用嵌套类以及如何使用嵌套类,取决于作用域和访问控制。下面将更详细地进行介绍。
1.作用域
如果嵌套类是在另一个类的私有部分声明的,则只有后者知道它。在前一个例子中,被嵌套在 Queue声明中的 Node 类就属于这种情况(看起来 Node 是在私有部分之前定义的,但别忘了,类的默认访问权限是私有的),因此,Queue 成员可以使用 Node 对象和指向 Node 对象的指针,但是程序的其他部分甚至不知道存在 Node 类。对于从 Queue 派生而来的类,Node 也是不可见的,因为派生类不能直接访问基类的私有部分。
如果嵌套类是在另一个类的保护部分声明的,则它对于后者来说是可见的,但是对于外部世界则是不可见的。然而