21. Class Hierarchies

Abstraction is selective ignorance.

– Andrew Koenig

Introduction

Design of Class Hierarchies

Implementation Inheritance; Interface Inheritance; Alternative Implementations; Localizing Object Creation

Multiple Inheritance

Multiple Interfaces; Multiple Implementation Classes; Ambiguity Resolution; Repeated Use of a Base Class; Virtual Base Classes; Replicated vs. Virtual Bases

Advice

21.1. Introduction

The primary focus of this chapter is design techniques, rather than language features. The examples are taken from user-interface design, but I avoid the topic of event-driven programming as commonly used for graphical user interface (GUI) systems. A discussion of exactly how an action on the screen is transformed into ...

Get The C++ Programming Language, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.