8911

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

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

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

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

Русский

2013-02-19

195.5 KB

13 чел.

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

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


 

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

76606. Настройка и использование межсетевого экрана 161.5 KB
  Краткие теоретические сведения Межсетевое экранирование повышает безопасность объектов внутренней сети за счет игнорирования неавторизованных запросов из внешней среды тем самым обеспечивая все составляющие информационной безопасности. В результате откроется окно Дополнительные параметры Рисунок 2 с тремя закладками Службы Ведение журнала безопасности и ICMP...
76607. Создание VPN-подключения средствами Windows 2000 (ХР) 216.5 KB
  Изучить последовательность действий по созданию VPNподключения в Windows 2000 ХР. Пример организации VPNподключения Задание: Создать VPNподключение и выполнить его настройку. А Создание VPNподключения.
76608. Восстановление зараженных файлов 2.63 MB
  Приобрести практические навыки по восстановлению файлов офисных приложений зараженных макровирусами. Краткие теоретические сведения Макровирусы заражают файлыдокументы и электронные таблицы популярных офисных приложений. Для анализа макровирусов необходимо получить текст их макросов.
76609. Профилактика компьютера от «троянских программ» 195 KB
  Ознакомиться с основными возможностями «системного реестра» операционной системы Windows 2000 (ХР) по настройке параметров безопасности. Изучить последовательность операций по проверке потенциальных мест размещения вирусов в ОС Windows 2000 (ХР).
76610. Настройка безопасности почтового клиента Outlook Express 282 KB
  Приобрести практические навыки по защите компьютера при работе с электронной почтой. Краткие теоретические сведения Почтовый клиент – это программа предназначенная для приема и отправки электронной почты. Для работы с электронной почтой почтовый клиент должен поддерживать протоколы SMTP исходящая почта и POP3 входящая почта.
76611. Настройка параметров аутентификации Windows 2000 (ХР) 144.5 KB
  Определяет число новых паролей которые должны быть сопоставлены учетной записи пользователя прежде чем можно будет снова использовать старый пароль. Определяет период времени в днях в течение которого можно использовать пароль прежде чем система потребует от пользователя заменить его. Минимальный срок действия пароля Определяет период времени в днях в течение которого необходимо использовать пароль прежде чем пользователь сможет заменить его. Определяет наименьшее число символов которые может содержать пароль учетной записи...
76612. Екатерина II. Просвещенный абсолютизм 33.5 KB
  Екатерина II стремилась построить законную самодержавную монархию обновить ее с учетом новых исторических реалий а не вводить конституционный демократический строй как этого хотели просветители. Большое внимание Екатерина II уделяла совершенствованию законодательства. Екатерина написала для комиссии Наказ в котором обосновала основные принципы политики просвещенного абсолютизма. Екатерина II положила начало крупнейшему музею мира Эрмитажу.
76613. Зарождение либеральной и революционной идеи в России 18 века 29.5 KB
  Русский либерализм одна из значимых тенденций общественной мысли в России. Либерализм в России возник как идеология в период кризиса феодальнокрепостнического строя конец 18 1я половина 19 в. Его появление обусловлено включением России в широкий общеевропейский контекст приобщением высших слоев общества к европейской образованности утверждением идеалов просвещения внедрением идеи общественного договора и т.
76614. Россия и мир в 19 веке. Попытки модернизации и промышленный переворот. Развитие россии при Александре 1 30 KB
  Александр 1 – сын императора Павла I и княгини Марии Фёдоровны, внук Екатерины 2. Родился 23 декабря 1777 г. С самого раннего детства он начал жить у бабушки, которая хотела воспитать из него хорошего государя. После смерти Екатерины на престол вошел Павел