Використання віртуальних функцій і покажчиків для роботи з об'єктами класів
Автор: Андрей Скороход • Сентябрь 13, 2023 • Лабораторная работа • 343 Слов (2 Страниц) • 136 Просмотры
Лабораторна робота №10
Використання віртуальних функцій і покажчиків для роботи з об'єктами класів
Виконав Татаркулов Рустам КН-22-1
Ціль роботи: вивчити і навчитися використовувати віртуальні функції при створенні ієрархій класів при простому спадкуванні в мові С++, а також
покажчики для роботи з об'єктами класів.
Хід роботи
- Вивчити теоретичні відомості.
- Відповідно до індивідуального завдання на базі заняття №9 розробити алгоритм роботи з об'єктами базових і похідних класів з використанням покажчиків на базові і похідні класи. При необхідності довести ієрархію класів до 3-4-х рівнів.
- Набрати програму на комп'ютері й усунути помилки.
- Одержати результат.
- Оформити звіт.
- Підготуватися до захисту заняття, вивчивши контрольні питання по даній темі
КОД
#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();
...