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.6. Composite Templates

The applications we have shown so far use a single TYPE for template class instantiations. Templates are, in fact, much more general than this. You can, for instance, apply templates recursively by nesting template types for TYPE, a technique called template composition. Here's the format with String objects and several template containers.

template <class TYPE> class A { . . . }; 
template <class TYPE> class B { . . . };
template <class TYPE> class C { . . . };

A<String> c1;                    // container of String
A< B<String> > c2;               // container of B<String>
A< B< C<String> > > c3;          // container of B< C<String> >
A< A< A<String> > > c4;          // container of A< A<String> >

We instantiate four A containers, all with different types. The first ...

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