Product Overview
Practical code examples are used throughout to illuminate useful programming strategies and warn against dangerous practices. To further ensure comprehension, each chapter ends with a list of the key ideas introduced in that chapter, along with questions to stimulate thought and discussion. Youll begin by learning how to choose the right abstractions for your design, taking care to preserve the distinction between abstraction and implementation. Youll then look at the process of turning an abstraction into one or more C++ classes, with discussions ranging from high-level design strategies to low-level interface and implementation details. Single and multiple inheritance are explored in depth, beginning with a discussion of where they fit in a design and followed by detailed examples that show how the concepts are used in practice. A separate chapter covers the techniques of building classes from which others can derive, and discusses the benefits - and costs - involved. Rob Murray offers unprecedented insight into the new templates feature, beginning with the basics and walking you through several real-world examples. The author also describes a variety of specific techniques to ma