Объектно-ориентированное программирование на языке С++. Лясин Д.Н - 61 стр.

UptoLike

Составители: 

61
{int c1;
public:
int c2;
void funcC()
};
Схема иерархии классов, определенных в последнем примере,
изображена на рис.7
Структура объекта класса будет аналогична изображенной на
рис.4. Однако, если в списке базовых классов поменять местами объяв-
ление классов А и В, то есть определить класс С следующим образом:
class C: public B, public A
{ … };
то порядок следования компонент в объекте класса С изменитсяв
младших адресах будут располагаться компоненты объекта класса В, за-
темобъекта класса А.
При множественном наследовании один и тот же класс не может
быть дважды указан как прямой базовый, однако, косвенным базовым
классом один и тот же класс может быть
и более одного раза.
class A {public: int x; void funcA(); …};
class B: public A {…};
class D: public A{…};
class C: public B, public D {…};
A
С
Рисунок 7. - Множественное наследование классов
B
{int c1;
public:
int c2;
void funcC()
};
           Схема иерархии классов, определенных в последнем примере,
    изображена на рис.7


          A                        B


                     С
                  Рисунок 7. - Множественное наследование классов


           Структура объекта класса будет аналогична изображенной на
    рис.4. Однако, если в списке базовых классов поменять местами объяв-
    ление классов А и В, то есть определить класс С следующим образом:
  class C: public B, public A
           { … };
          то порядок следования компонент в объекте класса С изменится – в
    младших адресах будут располагаться компоненты объекта класса В, за-
    тем – объекта класса А.
           При множественном наследовании один и тот же класс не может
    быть дважды указан как прямой базовый, однако, косвенным базовым
    классом один и тот же класс может быть и более одного раза.
           class A {public: int x; void funcA(); …};
           class B: public A {…};
           class D: public A{…};
           class C: public B, public D {…};




                                              61