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

UptoLike

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

60
это субъекты, а студент-дневник и студент-вечерник являются студентами, то
есть описываемые классами сущности вступают в отношения обобщения-
конкретизации. Однако, если мы захотим добавить в программу класс Group, опи-
сывающий учебную группу, то в отношение наследования с классом Student такой
класс вступить не сможет: мы не можем сказать, что группа
-это студент. Класс
Student правильно будет агрегировать в класс Group (напомнимдля агрегирова-
ния отношения классов проверяются словосочетанием «состоит из»: группа со-
стоит из студентов). Отношения классов Group и Student похожи на отношения
классов client и bank, рассмотренных в листингах 16 и 17, и правильным будет
включить в класс Group массив или динамический
список объектов класса Student.
4.3. Множественное наследование
Как уже отмечалось, в С++ производный класс может быть поро-
ждён из любого числа непосредственных базовых классов. Наличие у
производного класса более чем одного непосредственного базового
класса называется множественным наследием. Синтаксически множест-
венное наследование отличается от единичного наследования списком
порождения, состоящим более
чем из одного класса.
//Листинг26. Пример множественного наследования
class A
{int a1;
public:
int a2;
void funcA()
};
class B
{int b1;
public:
int b2;
void funcB()
};
class C: public A, public B //наследуем класс С от A и B
– это субъекты, а студент-дневник и студент-вечерник являются студентами, то
есть описываемые классами сущности вступают в отношения обобщения-
конкретизации. Однако, если мы захотим добавить в программу класс Group, опи-
сывающий учебную группу, то в отношение наследования с классом Student такой
класс вступить не сможет: мы не можем сказать, что группа-это студент. Класс
Student правильно будет агрегировать в класс Group (напомним – для агрегирова-
ния отношения классов проверяются словосочетанием «состоит из»: группа со-
стоит из студентов). Отношения классов Group и Student похожи на отношения
классов client и bank, рассмотренных в листингах 16 и 17, и правильным будет
включить в класс Group массив или динамический список объектов класса Student.




       4.3. Множественное наследование


             Как уже отмечалось, в С++ производный класс может быть поро-
      ждён из любого числа непосредственных базовых классов. Наличие у
      производного класса более чем одного непосредственного базового
      класса называется множественным наследием. Синтаксически множест-
      венное наследование отличается от единичного наследования списком
      порождения, состоящим более чем из одного класса.
  //Листинг26. Пример множественного наследования
  class A
  {int a1;
  public:
  int a2;
  void funcA()
  };
  class B
  {int b1;
  public:
  int b2;
  void funcB()
  };
  class C: public A, public B //наследуем класс С от A и B
                                              60