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

Лабораторна робота 4

Тема: перевантаження операцій

Варіант 1

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

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

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

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

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

"<<" - циклічне переставлення елементів масиву уліво,

">>" - циклічне переставлення елементів масиву управо,

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

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

Варіант 2

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

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

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

" - " - вилучення підрядку,

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

" <= " - відношення "менше чи дорівнює",

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

" >= " - відношення "більше чи дорівнює",

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

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

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

Варіант 3

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

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

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

" <= " - відношення "менше чи дорівнює",

" >= " - відношення "більше чи дорівнює",

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

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

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

Варіант 4

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

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

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

" - " - віднімання множин,

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

" <= " - відношення включення (перевіряється, чи є множина, що надана лівим операндом, підмножиною множини, що надана правим операндом),

" == " - еквівалентність множин,

" != " - нееквівалентність множин,

" << " - належність (перевіряється, чи належить значення, що надане лівим операндом, до множини, що надана правим операндом),

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

Варіант 5

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

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

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

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

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

" == " , " != " - рівність, не рівність,

" < " , " <= " , " > " , " >= " - відношення порядку,

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

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

Варіант 6

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

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

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

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

" == " , " != " - рівність, не рівність,

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

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

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