Первая программа:
Задание 1. Каждый разрабатываемый класс должен, как правило, содержать следующие элементы: скрытые поля, конструкторы с параметрами и без
параметров, методы; свойства, индексаторы; перегруженные операции. Функциональные элементы класса должны обеспечивать непротиворечивый, полный, минимальный и удобный интерфейс класса. При возникновении ошибок
должны выбрасываться исключения.
В программе должна выполняться проверка всех разработанных элементов класса.
Описать класс для работы с восьмеричным числом, хранящимся в
виде строки символов. Реализовать конструкторы, свойства, методы и следующие операции:
? операции присваивания, реализующие значимую семантику;
? операции сравнения;
? преобразование в десятичное число;
? форматный вывод;
? доступ к заданной цифре числа по индексу.
Написать программу, демонстрирующую все разработанные элементы класса.
Вторая программа:
Задание 1. В программах требуется описать базовый класс (возможно,
абстрактный), в котором с помощью виртуальных или абстрактных методов и
свойств задается интерфейс для производных классов. Целью лабораторной
работы является максимальное использование наследования, даже если для
конкретной задачи оно не дает выигрыша в объеме программы. Во всех классах следует переопределить метод Equals, чтобы обеспечить сравнение значений, а не ссылок.
Функция Main должна содержать массив из элементов базового класса,
заполненный ссылками на производные классы. В этой функции должно демонстрироваться использование всех разработанных элементов классов.
Описать базовый класс Строка. Обязательные поля класса:
? поле для хранения символов строки;
? значение типа word для хранения длины строки в байтах. Реализовать обязательные методы следующего назначения:
? конструктор без параметров;
? конструктор, принимающий в качестве параметра строковый
литерал;
? конструктор, принимающий в качестве параметра символ;
? метод получения длины строки;
? метод очистки строки (сделать строку пустой).
Описать производный от Строка класс Битовая_строка.
Строки данного класса могут содержать только символы ' 0' или '
1'. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, класс Битовая_строка принимает нулевое значение. Содержимое данных строк рассматривается как двоичное число. Отрицательные числа хранятся в дополнительном коде.
Для класса Битовая_строка определить следующие методы:
? конструктор, принимающий в качестве параметра строковый
литерал;
? деструктор;
? изменение знака на противоположный (перевод числа в дополнительный код);
? присваивание;
? вычисление арифметической суммы строк;
? проверка на равенство.
В случае необходимости более короткая битовая строка расширяется влево знаковым разрядом.
| Гарантия на работу | 1 год |
| Средний балл | 4.52 |
| Стоимость | Назначаете сами |
| Эксперт | Выбираете сами |
| Уникальность работы | от 70% |