Лабораторна робота № 4
Тема: Використання декількох конструкторів, деструкторів, методів.
Мета: Розглянути використання декількох конструкторів, деструкторів, методів.
Теоретичні відомості:
Конструктор являє собою спеціальну функцію, яку C + + автоматично викликає кожного разу при створенні об'єкта. Звичайне призначення конструктора полягає в ініціалізації елементів даних об'єкта. Конструктор має таке ж ім'я, як і клас. Наприклад, клас з ім'ям file використовує конструктор з ім'ям file. Ви визначаєте конструктор усередині своєї програми так само, як і будь-який метод класу. Єдина відмінність полягає в тому, що конструктор не має значення, що повертається. Коли ви пізніше оголошуєте об'єкт, ви можете передавати параметри конструктору, як показано нижче: class_name object (valuel, value2, value3) При створенні об'єктів однією з найбільш широко використовуваних операцій яку ви будете виконувати у ваших програмах, є ініціалізація елементів даних об'єкта. Єдиним способом, за допомогою якого ви можете звернутися до приватних елементів даних, є використання функцій класу. Щоб спростити процес ініціалізації елементів даних класу, C ++ використовує спеціальну функцію, яка називається конструктором, яка запускається для кожного створюваного вами об'єкта. Подібним чином C + + забезпечує функцію, яка називається деструкторами, яка запускається при знищенні об'єкта. Терміни конструктор і деструктор не повинні вас лякати. Замість цього уявіть конструктор як функцію, яка допомагає вам будувати (конструювати) об'єкт. Подібно до цього, деструктор являє собою функцію, яка допомагає вам знищувати об'єкт. Деструктор зазвичай використовується, якщо при знищенні об'єкта потрібно звільнити пам'ять, яку займав об'єкт.
Функція деструктора записується в оголошенні класу наступним чином: class Circle ( public: ... ... ~ Circle (); / / Деструктор private: ... ... ); Зверніть увагу на символ тильди (~), який передує прототипу функції деструктора. (На більшості клавіатур ви можете знайти символ тильди зліва від клавіші 1.) При записі прототипу функції деструктора дотримуйтесь наступних правил: Ім'я функції деструктора повинно співпадати з ім'ям класу і йому повинен передувати символ ~. Якщо, наприклад, ви розкажете клас з ім'ям Rectangle, ім'ям функції деструктора повинно бути ~ Rectangle. Отже, оголошення класу Rectangle має виглядати наступним чином: class Rectangle ( public: Rectangle (); / / Конструктор ... ~ Rectangle (); / / Деструктор private: ... ... ); Не вказуйте ніякого значення, що повертається для функції деструктора. (Функція деструктора повинна мати тип void, але не потрібно це вказувати.) Функція деструктора не має ніяких параметрів.
Хід роботи
Створити ієрархію класів, створити об’єкти, записати в файл
Структури «Спорт клубу».
структури «Бібліотеки».
структури «Продуктового магазину»