HLPL2/Sem3/README.md

39 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Семинар 05.10.12020
## task1
### Задание 1
Создать класс для работы с динамическим массивом типа int, хранить в свойствах указатель на данные и размер массива, реализовать функцию вывода всех значений массива, конструктор, получающий на вход размер массива, и деструктор.
### Задание 2
Реализовать сеттер, проверяющий входящее значение на принадлежность к промежутку от -100 до 100 включительно и проверяющий выход за границы массива, и геттер, проверяющий выход за границы массива.
### Задание 3
Реализовать конструктор копирования.
### Задание 4
Реализовать операцию сложения и вычитания для массивов(сложение и вычитание всех элементов).
### Задание 5
Реализовать операцию добавления значения в конец массива с расширением его размера. Проверять добавляемое значение на принадлежность к промежутку -100 100.
## task2
### Задание 1
Реализовать исключение в классе предыдущего задания: std:bad_alloc ошибка выделения памяти, std:out_of_range ошибка при обращении по индексу, std:invalid_argument неверное значение.
https://www.tutorialspoint.com/cplusplus/cpp_exceptions_handling.htm
### Задание 2
Реализовать шаблонный класс для массива элементов задаваемого типа.
### Задание 3
Реализовать операцию “=” с помощью конструктора копирования. Реализовать операцию вывода “<<”.
### Задание 4
Реализовать операцию сравнения массивов через расстояние между векторами. При сравнении векторов разной длины сравнивать длину без учета значений.