Chapter 3
Classes
Section 6
Nested Class Declarations
Inside the scope of a class, we can declare more than just data members and member functions; we can declare a class inside another class. These classes are called nested classes. Since a nested class declaration happens inside the outer class, it has access to all the declared names as if it were part of the outer class: it can access even private declarations. On the other hand, a nested class is not associated with any instance, so it can only access static members.