8911

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

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

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

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

Русский

2013-02-19

195.5 KB

11 чел.

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

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;}


 

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

66366. Математична естафета 95 KB
  Мета проведення: сприяти розвитку полікультурних та комунікативних компетентностей учнів; стимулювати інтерес і зацікавленість до вивчення математики та до підтримки особистої спортивної підготовки на достатньому рівні.
66367. Кожен творець свого щастя 57.5 KB
  Мета уроку: Допомогти дітям усвідомити розуміння тогощо для кожної людини поняття щастя неповторнещо кожна людина може сама творити своє власне щасливе життя. Показати на літературних прикладах та ситуаціях із життящо щастя в кожному із насщо вміння поділитися ним з іншимиробить людину...
66368. Взаєморозуміння — основа дружнього колективу 39 KB
  Кого ви бачите у дзеркальці Вам подобається зображення Чому Поміняйтесь дзеркальцем із товаришем. Змінилось зображенняяке ви бачите А у вашого товариша Чому Кожен з нас неповторний несхожий на іншого має свою зовнішність характер здібності чесноти і недоліки.
66370. «Еврика». Ерудит-шоу з математики в 6 класі 49 KB
  Розподіл на команди: учасники по черзі обирають номер команди, за яку буде виступати. Команди формує неофіційно вчитель: кількість учнів різних рівнів в кожній команді повинно бути приблизно однаковим, це досягається таким чином: наприклад, готуються фішки 4 кольорів...
66371. Классный час «Знакомьтесь – Европа!» 32 KB
  Цель: познакомить с географическим положением европейских государств, опираясь на знания о хозяйственной деятельности из курса «Гражданское образование», дать обзорную характеристику их экономики, познакомить с достопримечательностями и выдающимися личностями...
66372. ЄВРОПЕЙСЬКИЙ ВИБІР УКРАЇНИ 229.5 KB
  Будівництво Європи без кордонів почалося тоді коли у 1951 році шість держав підписали в Парижі угоду про заснування Європейського об'єднання вугілля й сталі Бельгія Італія Люксембург Нідерланди Німеччина та Франція продовжується сьогодні й триватиме ще не одне десятиліття.
66373. Екологічний експрес 66.5 KB
  Ведуча. Прошу вас із берези ви соку не точіть Ви краще їй сестричку зелену посадіть Ви краще їй шпаківню поставте на гілках Щоб прилітав до неї друг лісу добрий птах Пісня Берізонька Дівчина Спасибі людям що зростили ліс Коли б не ліс не знали б ми про те...