Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. F95.2 Комбинированное вокальное и множественное моторное тикозное расстройство (синдром де ля Туретта).
  2. Абстрактные методы и классы
  3. Абстрактые классы, виртуальные методы. Наследование и замещение методов.
  4. Базовые волны
  5. Базовые гипотезы, лежащие в основе методов анализа данных
  6. Базовые знания по модулю ЕН.01.М.02 Введение в математический анализ
  7. Базовые и основные детали агрегатов автомобиля

 

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

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

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

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

 

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

 
 


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

 
 


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

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

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

class A { …};

class B {… };

class C { … };

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

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

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

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


Дата добавления: 2015-07-15; просмотров: 105 | Нарушение авторских прав


Читайте в этой же книге: Void main ( ) | Int y ; | Int y ; | spotelli |
<== предыдущая страница | следующая страница ==>
Putimage(x-rad, y-rad, pspot, XOR_PUT);| Void move ( int xn, int yn)

mybiblioteka.su - 2015-2024 год. (0.005 сек.)