Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_ робота_5-6_1213.doc
Скачиваний:
8
Добавлен:
23.03.2015
Размер:
104.96 Кб
Скачать

Виклик конструктора й деструктора

Конструктор і деструктор викликаються в програмі автоматично при оголошенні об'єктів класу. Не має значення, чи оголошується об'єкт явно або створюється динамічно за допомогою new.

Виклик того або іншого конструктора залежить від форми опису об'єкта:

Якщо після імені об'єкта або типу класу в операторі new нічого не зазначено або стоять порожні круглі дужки, викличеться конструктор за замовчуванням.

Якщо в дужках записані параметри, викликається конструктор з параметрами.

Якщо в дужках перебуває ім'я об'єкта, то відбувається виклик конструктора копіювання.

Крім того, конструктор викликається усередині функцій для створення копії фактичного параметра, якщо функція одержує цей параметр за значенням. Відомо, що при виході з функції копія знищується, отже автоматично буде викликаний деструктор для руйнування копії.

Конструктори викликаються в програмі в порядку оголошення об'єктів. Коли оголошується масив об'єктів, конструктор за замовчуванням буде викликаний стільки разів, скільки елементів зазначено в оголошенні масиву.

При оголошенні масиву покажчиків на тип класу або одиничного покажчика ніякі конструктори не викликаються. Вони будуть викликані пізніше при ініціалізації покажчиків оператором new.

Деструктор викликається автоматично при руйнуванні оголошеного по імені об'єкта, тому немає необхідності в явному виклику деструктора для руйнування локального об'єкта або для руйнування об'єктів перед виходом із програми. Деструктор також викликається автоматично, коли за допомогою оператора delete звільняється покажчик на об'єкт класу. Без оператора delete об'єкт зруйнований не буде. Дозволяється і явний виклик деструктора для об'єкта, що виконується, як і виклик будь-якого іншого методу класу.

//Головна функція повинна містити наступний програмний код:

  1. Зберегти проект за допомогою команди File Save All.

  2. Виконати програму за допомогою команди Build Execute Lab5_6.exe.

  3. Протестувати програму для різних значень вхідних даних.

  4. Закрити проект за допомогою команди File Close Workspace.

  5. У файлі звіту дати відповіді на наступні питання:

  • Який об’єкт створюється у програмі?

  • Як виводяться значення полів об’єкту?

  • Для чого призначена функція view , які вона має параметри?

  • Які значення повертає функція view?

Частина іі

Відкрити проект.

Оголосити у програмі другий об’єкт класу CBook через вказівник на об’єкт, виділити для нього пам'ять, встановити значення його полів.

Після цього вивести значення даних об’єкту на екран.

  1. Зберегти проект за допомогою команди File Save All.

  2. Виконати програму за допомогою команди Build Execute Lab5_6.exe.

  3. Протестувати програму для різних значень вхідних даних.

  4. Закрити проект за допомогою команди File Close Workspace.

  5. Закрити MVC++.

  6. У файлі звіту дати відповіді на наступні питання:

  • Як об’єкт створюється у програмі?

  • Як виводяться значення полів об’єкту?

Частина ііі

Спроектувати клас, його конструктор за замовчуванням і деструктор, методи встановлення та отримання значень полів, використати розроблені методи для роботи з об’єктами класу.

Конструктор повинен ініціалізувати значення полів класу.

Клас повинен включати дані у відповідності з варіантом та функції встановлення та отримання значень даних.

У програмі створити два об’єкти (один з них оголосити за ім’ям, а другий – за покажчиком).

№ варіанту,

найменування класу

Найменування даних класу

1. Клас «Аудиторія»

Номер

Предмет, який викладається

Площа

2. Клас «Білет (на поїзд)»

До якого пункту призначення

Вартість

Купе/плацкарта

3. Клас «Ліки»

Назва

Вартість

Термін придатності

4. Клас «Путівка до санаторію»

Назва санаторію

Тривалість

Вартість

5. Клас «Хлібопродукт»

Найменування

Вага

Ціна

6. Клас «Студент»

Прізвище

Група

Рік народження

7. Клас «Квитанція сплати за електроенергію»

Прізвище

Останні показники єлектрорахівника

Сума до сплати

8. Клас «Квиток до театру»

Назва вистави

Ряд

Місце

9. Клас «Член футбольної команди»

Прізвище

Кількість проведених матчів

Номер

-----Елена Александровна-----

10. Клас «Рейс аерофлоту»

Номер

Місце призначення

Вартість білету

11. Клас «Автобус»

Номер

Марка

Кількість місць

12. Клас «Фрукти»

Найменування

Вага

Ціна

13. Клас «Мешканець гуртожитку»

Прізвище

Група

Номер блока

14. Клас «Марка автомобіля»

Назва

Потужність двигуна

Ціна

15. Клас «Кабінет коледжу»

Назва

Кількість місць

Номер

CBook *pnt ;

pnt = new CBook ;

pnt->setAuthor ( "pntAutor" ) ;

pnt->setTitle ( "pntTitle" ) ;

pnt->setYear ( 2010 ) ;

view ( "pointer pnt", *pnt ) ;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]