Составители:
Рубрика:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 59
- 60
- 61
- 62
- 63
- …
- следующая ›
- последняя »