Практична робота№2

Практична робота №2 Використання конструкторів і деструкторів
ДОСЛІДЖЕННЯ ОПИСУ ТА ВИКОРИСТАННЯ КЛАСІВ

Мета роботи – вивчити опис класів, навчитися створювати, використовувати та знищувати об’єкти класів.

Завдання

1. Вивчити опис класу в моваі програмування С++ .
2. Вивчити механізми створення, використання та знищення об’єктів класів в мові програмування С++.
3. Написати програми мовою програмування С++, що демонструють випадки застосування класу, згідно з варіантом .

Короткі теоретичні відомості

Опис класу:
<опис класу> ::= class <позначка класу> {<тіло класу>};
<тіло класу> ::= {private:}13 EMBED Equation.3 1415 <закритий елемент>
public: <відкритий елемент>
{protected:}13 EMBED Equation.3 1415 <захищений елемент>
<позначка класу> ::= <ідентифікатор>
<закритий елемент> ::= <опис змінної> | <метод> |
<прототип методу> | <опис статичної змінної>
<опис статичної змінної> ::= static <опис змінної>
<відкритий елемент> ::= <конструктор> | <деструктор> |
<опис змінної> | <метод> | <прототип методу> |
<метод типу static> | <метод типу const>
<захищений елемент> ::= <опис змінної> | <метод> |
<прототип методу>
<конструктор> ::= <позначка класу>
({<список формальних параметрів>}0)
{<тіло конструктора>}
<тіло конструктора> ::= <тіло закритої підпрограми>
<деструктор> ::= ~<позначка класу> ( ) {<тіло деструктора>}
<тіло деструктора> :: = <тіло закритої підпрограми>
<метод> ::= <опис функції>
<прототип методу> ::= <опис прототипу функції>
<метод типу static> ::= static <метод>
<метод типу const> ::=<позначка типу значення, що вироблюється>
<позначка методу> ({<список формальних параметрів>}0) const
<тіло методу>

Опис методу поза класом:
<опис методу поза класом> ::= <опис методу> |
<опис методу типу static> | <опис методу типу const>
<опис методу> ::= <позначка типу значення, що вироблюється>
<позначка класу>::<позначка методу>
({<список формальних параметрів>}0)
<тіло методу>
<позначка методу> ::= <ідентифікатор>
<тіло методу> ::= {{<оператори>}0}
<опис методу типу static> ::= <опис методу>
<опис методу типу const> ::=
<позначка типу значення, що вироблюється >
<позначка класу>::<позначка методу>
({<список формальних параметрів>}0) const
<тіло методу>

Опис конструктора та деструктора поза класом:
<опис конструктора поза класом> ::=
<позначка класу>::<конструктор>
<опис деструктора поза класом> ::=
<позначка класу>::~<деструктор>

Опис статичних елементів поза класом:
<позначка типу> <позначка класу> :: <ідентифікатор> =
<статичний вираз>

Використання конструкторів, методів та статичних елементів:
<використання конструкторів> ::= <позначка класу>
<позначка об'єкта>;
<позначка об'єкта> ::= <ідентифікатор> | <ідентифікатор>
({<список фактичних параметрів>}) | &<ідентифікатор> |
*<ідентифікатор> | <ідентифікатор>[]
<використання методів> ::= <ідентифікатор об'єкта>.
<виклик методу> | <ідентифікатор об'єкта>-><виклик методу>
<виклик методу> ::= <виклик функції>
<використання методу типу const> ::= <використання методів>
<використання методу типу static> ::= <позначка класу> ::
<виклик методу>

Методичні рекомендації

Опис класу може складатися з трьох частин: закритої, відкритої та захищеної. За умовчанням першою частиною є закрита. Тому рекомендується починати опис класу із закритих елементів.
Для наочності опису класу користувачеві рекомендується опис таких відкритих елементів, як <конструктор>, <деструктор> та <метод>, наводити поза класом. Пам’ятайте, якщо в класі описаний статичний елемент, то його необхідно обов’язково визначити та ініціювати поза класом.
Пишучи програму мовою С++, опис класу слід виконувати в окремому заголовковому файлі (.h), а опис методів у файлі .сpp.
Всі методи класу, окрім <метод типу static>, при виклику одержують неявний аргумент – покажчик this (тобто адресу об’єкта).
Користувачу в роботі необхідно самостійно навести опис усіх елементів <конструктор> та <деструктор>, незважаючи на те, що в мові С++ <конструктор> за умовчанням (<кон
·структор> без параметрів) та <деструктор> створюються автоматично.

Контрольні запитання та завдання

1. Що таке клас? Що відрізняє клас і об’єкт?
2. З яких частин складається опис класу?
3. Що таке конструктор та деструктор?
4. Наведіть приклади типів конструкторів.
5. Для чого використовується конструктор?
6. Для чого використовується деструктор?
7. Наведіть приклади використання методів.

Номер варіанта
Опис класу
Завдання


Назва класу
Складові члени


1
Трикутники
Координати вершин, конструктор з параметрами, деструктор, методи обчислення площі та периметра, метод виведення даних
Описати клас, об’єкт; вивести дані об’єкта; обчислити і вивести площу та периметр

2
Вектори
Координати кінця вектора, конструктор з параметрами, деструктор, методи обчислення полярних координат, метод виведення даних
Описати клас, об’єкт; вивести дані об’єкта; обчислити і вивести полярні координати

3
Рядки
Значення рядка (цифрові символи), конструктор з параметрами, деструктор, метод обчислення довжини, метод обернення рядка, метод виведення рядка
Описати клас, об’єкт; вивести рядок; обчислити та вивести довжину

4
Прямокутники
Координати вершин, конструктор з параметрами, деструктор, методи обчислення площі та периметра, метод виведення даних
Описати клас, об’єкт; вивести дані об’єкта; обчислити і вивести площу та периметр

5
Відрізки
Координати початку та кінця, конструктор з параметрами, деструктор, методи обчислення довжини та кута між віссю ОХ, метод виведення даних
Описати клас, об’єкт; вивести дані об’єкта; обчислити і вивести довжину та кут з віссю ОХ

6
Рядки
Значення рядка (малі букви), конструктор з параметрами, деструктор, метод обчислення довжини, метод сортування рядка за зростанням, метод виведення рядка
Описати клас, об’єкт; вивести рядок; обчислити та вивести довжину

7
Квадрати
Координати вершин, конструктор з параметрами, деструктор, методи обчислення площі та периметра, метод виведення даних
Описати клас, об’єкт; вивести дані об’єкта; обчислити і вивести площу та периметр

8
Вектори
Полярні координати (довжина і кут), конструктор з параметрами, деструктор, методи обчислення координат кінця вектора, метод виведення даних
Описати клас, об’єкт; вивести дані об’єкта; обчислити і вивести координати кінця вектора

9
Рядки
Значення рядка (символи), конструктор з параметрами, деструктор, метод обчислення довжини, метод сортування рядка за убуванням, метод виведення рядка
Описати клас, об’єкт; вивести рядок; обчислити та вивести довжину

10
Трапеції
Координати вершин, конструктор з параметрами, деструктор, методи обчислення площі та периметра, метод виведення даних
Описати клас, об’єкт; вивести дані об’єкта; обчислити і вивести площу та периметр

11
Відрізки
Координати початку та кінця, конструктор з параметрами, деструктор, методи обчислення довжини та кута між віссю ОY, метод виведення даних
Описати клас, об’єкт; вивести дані об’єкта; обчислити і вивести довжину та кут з віссю ОХ

12
Кулі
Координати центру, радіус, конструктор з параметрами, деструктор, методи обчислення плоші поверхні та об’єму, метод виведення даних
Описати клас, об’єкт; вивести дані об’єкта; обчислити і вивести площу та об’єм.

13
Ромби
Координати вершин, конструктор з параметрами, деструктор, методи обчислення площі та периметра, метод виведення даних
Описати клас, об’єкт; вивести дані об’єкта; обчислити і вивести площу та периметр.

14
Кола
Координати центру, радіус, конструктор з параметрами, деструктор, методи обчислення довжини та плоші, метод виведення даних
Описати клас, об’єкт; вивести дані об’єкта; обчислити і вивести довжину та площу.

15
Рядки
Значення рядка (символи), конструктор з параметрами, деструктор, метод обчислення довжини, метод зсуву рядка праворуч на один символ (тобто останній символ на перше місце), метод виведення рядка
Описати клас, об’єкт; вивести рядок; обчислити та вивести довжину

Варіанти завдань






Приложенные файлы

  • doc 19899372
    Размер файла: 62 kB Загрузок: 1

Добавить комментарий