Skip to Content
Navigating C++ and Object-Oriented Design
book

Navigating C++ and Object-Oriented Design

by Paul Anderson, Gail Anderson
October 1997
Intermediate to advanced
800 pages
20h 48m
English
Pearson
Content preview from Navigating C++ and Object-Oriented Design

10.5. Containment with Template Classes

Containment (page 223) is an important design technique because of code reuse and data encapsulation. With containment, classes have data members that are objects of another class. Containment applies to template classes with the following format.

template <class TYPE> 
class A {                                 // template class
private:
   B<TYPE> member1;                       // generic template member
   C<type> member2;                       // specific template member
   D member3;                             // nontemplate member
public:
   A(args) : B(args),C(args),D(args) { }     // member initialization
. . .
};

Inside template class A, you may instantiate generic template members (B), specific types for template members (C), and nontemplate members (D). The compiler uses TYPE from the template parameter list ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Exploring C++20: The Programmer's Introduction to C++

Exploring C++20: The Programmer's Introduction to C++

Ray Lischner

Publisher Resources

ISBN: 0135327482Purchase book