O'Reilly logo

Navigating C++ and Object-Oriented Design by Gail Anderson, Paul Anderson

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

10.11. Template Nested Classes

Nested Classes” on page 250 shows how nontemplate classes nest other nontemplate classes. Here's the nesting format with templates.

template <class TYPE> 
class Outer {                  // enclosing class
   . . .
   class Inner {               // enclosed class (nested)
      . . .
   };
   . . .
};

Nested classes improve encapsulation by hiding the visibility of enclosed classes. Class Inner may be a nontemplate class or a template class. This implies that only one-to-one relationships hold between nested classes and template classes. It's also possible to specify nested member template functions, which we will look at later on (see “Member Templates” on page 456).

Here's an example of nesting template classes.

 template <class TYPE> class Scheduler { // enclosing ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required