Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Використання віртуальних функцій і покажчиків для роботи з об'єктами класів

Автор:   •  Сентябрь 13, 2023  •  Лабораторная работа  •  343 Слов (2 Страниц)  •  76 Просмотры

Страница 1 из 2

Лабораторна робота №10

Використання віртуальних функцій і покажчиків для роботи з об'єктами класів

Виконав Татаркулов Рустам КН-22-1

Ціль роботи: вивчити і навчитися використовувати віртуальні функції  при створенні ієрархій класів при простому спадкуванні в мові С++, а також  

покажчики для роботи з об'єктами класів.

Хід роботи

  1. Вивчити теоретичні відомості.
  2. Відповідно до індивідуального завдання на базі заняття №9 розробити  алгоритм роботи з об'єктами базових і похідних класів з використанням  покажчиків на базові і похідні класи. При необхідності довести ієрархію  класів до 3-4-х рівнів.
  3. Набрати програму на комп'ютері й усунути помилки.
  4. Одержати результат.
  5. Оформити звіт.
  6. Підготуватися до захисту заняття, вивчивши контрольні питання  по даній темі

КОД

#include <iostream> using namespace std;

 

class MyFuel { public:

 virtual void burn() = 0;

};

 

class Diesel : public MyFuel { public:  Diesel() {  cout << "Створено об'єкт класу Diesel\n";

 }

 ~Diesel() {

 cout << "Знищено об'єкт класу Diesel\n";

 }

 void burn() override {  cout << "Горить => нафта\n";

 }

};

 

class Gasoline : public MyFuel { public:  Gasoline() {  cout << "Створено об'єкт класу Gasoline\n";

 }

 ~Gasoline() {  cout << "Знищено об'єкт класу Gasoline\n";

 }

 void burn() override {  cout << "Горить => бензин\n";

 }

};

 

class Electric : public MyFuel { public:

 Electric() {  cout << "Створено об'єкт класу Electric\n";

 }

 ~Electric() {  cout << "Знищено об'єкт класу Electric\n";

 }

 void burn() override {  cout << "Не горить, а працює на електриці\n";

 }

};

 

int main() {

 Diesel diesel;

 Gasoline gasoline;

 Electric electric;

 

 MyFuel* ptr_fuel = nullptr;

 

 ptr_fuel = &diesel;  ptr_fuel->burn();

 

 ptr_fuel = &gasoline;  ptr_fuel->burn();

 

 ptr_fuel = &electric;  ptr_fuel->burn();

...

Скачать:   txt (3 Kb)   pdf (88.9 Kb)   docx (24.6 Kb)  
Продолжить читать еще 1 страницу »
Доступно только на Essays.club