Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП Лаборатор_2011.doc
Скачиваний:
6
Добавлен:
07.02.2016
Размер:
279.04 Кб
Скачать

Лабораторна робота 4 Перевантаження операцій

Варіант 1

Створити динамічний клас для виконання операцій з динамічними масивами чисел дійсного типу. Зробити перевантаження символів операцій:

"=" - динамічне присвоєння,

"+" - поелементне додавання,

"-" - поелементне віднімання,

"*" - скалярне множення масивів,

"<<" - запис масиву у файл,

">>" - зчитування масиву з файлу,

"[]" - доступ до елементу масива з контролем.

Тип елементу масиву обрати самостійно. У класі передбачити конструктор ініціалізації, конструктор копіювання, деструктор.

Написати програму, яка доводить правильність роботи створеного класу.

Варіант 2

Створити динамічний клас для роботи з рядками (послідовнос-

тями символів). Максимальна довжина послідовності - 65535, код завершення послідовності - нуль. Здійснити перевантаження символів таких операцій:

" + " - конкатенація (з’єднання) рядків,

" < " - відношення "менше",

" > " - відношення "більше",

" == " - відношення "дорівнює".

За відношення порядку ("менше", "більше") вважати відношення лексикографічного порядку (тобто того порядку, що реалізується у звичайному словнику або у картотеці). У класі передбачити конструктор ініціалізації, конструктор копіювання, деструктор.

Написати програму, яка доводить правильність роботи створеного класу.

Варіант 3

Створити динамічний клас для роботи з рядками. Максимальна довжина послідовності - 254. Перший байт повинен містити інформацію про фактичну кількість елементів масиву. Здійснити перевантаження операцій:

" = " - присвоєння,

" + " - конкатенація (з’єднання) рядків,

" << " - введення рядка з файлу,

" >> " - виведення рядка у файл,

" == " - відношення "дорівнює".

У класі передбачити конструктор ініціалізації, конструктор копіювання, деструктор.

Написати програму, яка доводить правильність роботи створеного класу.

Варіант 4

Створити клас для роботи з множинами цілих чисел. Здійснити перевантаження символів операцій:

" = " - присвоєння,

" + " - об’єднання множин,

" * " - переріз множин,

" << " - запис множини у файл,

" >> " - зчитування множини з файлу.

У класі передбачити конструктор ініціалізації, конструктор копіювання, деструктор.

Написати програму, яка доводить правильність роботи створеного класу.

Варіант 5

Створити клас для виконання точних обчислень з раціональними числами. Здійснити перевантаження символів операцій:

" = " - присвоєння,

" + " - додавання,

" - " - віднімання,

" * " - добуток,

" >> " , " << " - читання з файлу та запис у файл.

Створити функцію скорочення раціонального числа (приведення до нормальної форми). У класі передбачити конструктор ініціалізації, конструктор копіювання, деструктор.

Написати програму, яка доводить правильність роботи створеного класу.

Варіант 6

Створити клас для виконання операцій з векторамитрьохвимір-ного простору. Вважати, що компоненти вектора мають дійсний тип. Конкретний тип для компонентів вектора обрати самостійно. Здійснити перевантаження символів операцій:

" + " - додавання векторів,

" - " - векторне віднімання,

" * " - скалярний добуток векторів,

" == " - відношення рівності векторів,

" << " , " >> " - читання з файлу та запис у файл.

Передбачити функцію обчислення довжини вектора, конструктор ініціалізації.

Написати програму, яка доводить правильність роботи створеного класу.