Любое понятие не существует изолированно, оно существует во взаимосвязи с другими понятиями, и мощность данного понятия во многом определяется наличием таких связей. Раз класс служит для представления понятий, встает вопрос, как представить взаимосвязь понятий. Понятие производного класса и поддерживающие его языковые средства служат для представления иерархических связей, иными словами, для выражения общности между классами. Например, понятия окружности и треугольника связаны между собой, так как оба они представляют еще понятие фигуры, т.е. содержат более общее понятие. Чтобы представлять в программе окружности и треугольники и при этом не упускать из вида, что они являются фигурами, надо явно определять классы окружность и треугольник так, чтобы было видно, что у них есть общий класс - фигура. В главе исследуется, что вытекает из этой простой идеи, которая по сути является основой того, что обычно называется объектно-ориентированным программированием.
Глава состоит из шести разделов:
$$6.2 с помощью серии небольших примеров вводится понятие производного класса, иерархии классов и виртуальных функций.
$$6.3 вводится понятие чисто виртуальных функций и абстрактных классов, даны небольшие примеры их использования.
$$6.4 производные классы показаны на законченном примере
$$6.5 вводится понятие множественного наследования как возможность иметь для класса более одного прямого базового класса, описываются способы разрешения коллизий имен, возникающих при множественном наследовании.
$$6.6 обсуждается механизм контроля доступа.
$$6.7 приводятся некоторые приемы управления свободной памятью для производных классов.
В последующих главах также будут приводиться примеры, использующие эти возможности языка.