8911

Множественное наследование в языке С++

Лабораторная работа

Информатика, кибернетика и программирование

Множественное наследование в языке С++. 1. Цель работы Целью лабораторной работы является получение практических навыков при использовании множественного наследования в языке С++. 2. Темы для предварительного изучения Введение в классы П...

Русский

2013-02-19

195.5 KB

12 чел.

Множественное наследование в языке С++.

1. Цель работы

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

2. Темы для предварительного изучения

  •  Введение в классы
  •  Перегрузка функций
  •  Перегрузка операторов
  •  Наследование
  •  Множественное наследование

3. Варианты индивидуальных заданий

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

4. Задание к выполнению

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

Каждый класс должен содержать инициализирующий конструктор и функцию show для вывода значений.
Функция
main должна иллюстрировать иерархию наследования.

5. Пример выполнения (вариант 25)


Сначала создадим необходимую иерархию классов. Следуя ей мы получим:

class B{

 int a;

public:

};

class D1: public B {

int b;

public:

};

class D2: private B{

int c;

public:

};

class D3: private D1, public D2 {

int d;

public:

};

class D4: public D2, private D1 {

int e;

public:

};

Создадим теперь во всех классах конструкторы, которые смогли бы по цепочке наследования инициализировать свои переменные и передавать остальные значения дальше вверх вплоть до конструктора базового класса.

 B(int x) { a=x; }

D1(int x, int y) : B(y) { b=x;};

D2(int x, int y) : B(y) { c=x;};

D3(int x, int y, int z, int i, int j) : D1(y,z), D2(i,j) { d=x;}

D4(int x, int y, int z, int i, int j) : D1(y,z), D2(i,j) { e=x;}

Теперь добавим в каждый класс функцию show, которая бы выводила на экран переменную из секции private класса, которому принадлежит сама и вызывала бы функции show тех классов, которые стоят выше по иерархии наследования.

 void show_B() { cout <<"B=   "<< a << "\n"; }

void show_D1() { cout << "D1=  "<< b << "\n"; show_B();}

void show_D2() { cout <<"D2=  "<< c << "\n"; show_B();}

void show_D3() { cout << "D3=  "<<d << "\n"; show_D1(); show_D2();}

void show_D4() { cout <<"D4=  "<< e << "\n"; show_D1(); show_D2();}


Демонстрация иерархии наследования

main() {

clrscr();

D3 temp(100,200,300,400,500);

D4 temp1(1,2,3,4,5);

cout << "D3 temp(100,200,300,400,500);\n";

cout << "D4 temp1(1,2,3,4,5);\n";

cout<< "\nСледуя иерархии класса D3: \n";

temp.show_D3();

cout<< "\nСледуя иерархии класса D4\n";

temp1.show_D4();

getch();

return 0;}


 

А также другие работы, которые могут Вас заинтересовать

45754. Критика способности суждения 24.5 KB
  Критика способности суждения нем. Кант также замечает что эстетическое не исчерпывается прекрасным нем. Помимо него существует возвышенное нем.
45755. Критика чистого разума 32.5 KB
  Кант начинает свои рассуждения со специфической классификации суждений. Он выделяет суждения синтетическиеаналитические и априорныеапостериорные.Синтетическими называются суждения несущие новое знание не содержащееся в понятии которое является их субъектом.Аналитическими называются суждения которые всего лишь раскрывают свойства присущие понятию субъекта содержащиеся в нём самом и не несут нового знания.
45756. Кун. Структуры научных революций 28.5 KB
  сформулировал новую концепцию развития науки и научного знания которая произвела настоящий переворот во всей философии науки. Внутри парадигмы существование науки определяется Куном как нормальная наука; ученые еще не подвергают сомнению свою научную деятельность которая состоит в вписывании фактов в уже существующую теорию. Прогресс имеет место только внутри нормальной науки.Периоду нормальной науки Кун противопоставляет деятельность ученых в рамках кризиса то есть период экстраординарной науки причем если целью нормальной науки...
45757. Лейбниц. Об основных аксиомах познания 31 KB
  Если чтото отрицается как истинное то очевидно оно является ложным; а если чтото отрицается как ложное то оно является истинным. Подобным же образом если истинно то что нечто ложно или ложно то что нечто истинно то утверждение является ложным; а если истинно то что нечто истинно и лоншо то что нечто ложпо то оно является истинным. С другой стороны среди истинных предложений первыми являются те которые обычно называют тождественными как А есть Л Не А есть не А Если истинно предложение L то следовательно истинно...
45758. Лейбниц. Монадология 53.5 KB
  Согласно Лейбницу основаниями существующих явлений или феноменов служат простые субстанции или монады. Все монады просты и не содержат частей. Монады не могут претерпеть изменения в своём внутреннем состоянии от действия какихлибо внешних причин кроме Бога. Монада способна к изменению своего состояния и все естественные изменения монады исходят из её внутреннего принципа.
45759. Джон Локк. Опыты о человеческом разумении 28 KB
  Опыты о человеческом разумении 4 книги Локк впервые дал систематическую теорию эмпиризма. Средоточие философии Локка – его теория познания изложенная в Опыте о человеческом разумении Ее задача объяснить происхождение и основы человеческого познания и найти границы познавательной способности рассудка. Задачи философии Предмет философии по Локку исследование происхождения знания.
45760. Маклюэн. Понимание медиа 37.5 KB
  Понимание медиа. посвящённа осмыслению средств массовой коммуникации медиа. Средства массовой коммуникации медиа Маклюэн понимает чрезвычайно широко как расширение человека. По мнению Маклюэна глубочайшим заблуждением является убеждение в нейтральности медиа.
45761. Маркс К. К критике политической экономии 30.5 KB
  Маркс считает что анатомию гражданского общества следует искать в политической экономии. Совокупность этих производственных отношений составляет экономическую структуру общества реальный базис на котором возвышается юридическая и политическая надстройка и которому соответствуют опре формы общго сознания. На известной ступени своего развития материальные производительные силы общества приходят в противоречие с существующими производственными отношениями внутри которых они до сих пор развивались. Ни одна общая формация не погибает раньше...