Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Множественное наследование. Виртуальные базовые классы



Класс является прямым базовым классом, если он входит в список базовых при определении производного класса.

А если сам базовый класс является производным от некоторого родителя, причем этот родитель не входит в список базовых классов, то этот родитель является непрямым (косвенным) базовым классом.

Иерархию производных классов принято отображать в виде направленного ациклического графа (НАГ), где стрелкой изображают связь “ производный от”.

Производные классы располагаются ниже базовых. В том же порядке они должны располагаться в программе и так их объявления рассматривает компилятор.

A ( базовый класс – прямая база для B)


B ( производный от А класс прямая база для С)


С ( производный класс – с прямой базой В и косвенной А)

На практике часто возникает необходимость создать производный класс, наследующий возможности нескольких классов.

Наличие в определении производного класса несколько прямых базовых классов называют множественным наследованием.

class A { …};

class B {… };

class C { … };

class D: public A, public B, public C {... };

Родители перечисляются через запятую.

Как и в случае одиночного наследования, при создании объекта производного класса сначала конструируются объекты базовых классов (в том порядке, в котором базовые классы перечислены в объявлении производного), и лишь после этого составляется объект производного класса.

Деструкторы выполняются в обратном порядке.





Дата публикования: 2014-11-28; Прочитано: 589 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...