Читайте также:
|
|
Класс является прямым базовым классом, если он входит в список базовых при определении производного класса.
А если сам базовый класс является производным от некоторого родителя, причем этот родитель не входит в список базовых классов, то этот родитель является непрямым (косвенным) базовым классом.
Иерархию производных классов принято отображать в виде направленного ациклического графа (НАГ), где стрелкой изображают связь “ производный от”.
Производные классы располагаются ниже базовых. В том же порядке они должны располагаться в программе и так их объявления рассматривает компилятор.
A ( базовый класс – прямая база для B)
B ( производный от А класс – прямая база для С)
С ( производный класс – с прямой базой В и косвенной А)
На практике часто возникает необходимость создать производный класс, наследующий возможности нескольких классов.
Наличие в определении производного класса несколько прямых базовых классов называют множественным наследованием.
class A { …};
class B {… };
class C { … };
class D: public A, public B, public C {... };
Родители перечисляются через запятую.
Как и в случае одиночного наследования, при создании объекта производного класса сначала конструируются объекты базовых классов (в том порядке, в котором базовые классы перечислены в объявлении производного), и лишь после этого составляется объект производного класса.
Деструкторы выполняются в обратном порядке.
Дата добавления: 2015-07-15; просмотров: 105 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Putimage(x-rad, y-rad, pspot, XOR_PUT); | | | Void move ( int xn, int yn) |