Практическая работа № 2.
Цель работы
Целью лабораторной работы является:
•знакомство с описанием классов на языке Си++
•получение практических навыков создания и использования классов.
Темы для предварительного изучения
•Синтаксис классов в языке Си++
•Ортодоксальная каноническая форма класса
•Наследование
•Полиморфизм
•Инкапсуляция
Задание к выполнению
Создать класс СТРОКА, реализующий текстовую строку. То есть хранит цепочку символов переменной длины, позволяет определить её длину, поддерживает операцию конкатенации и сравнения двух строк. Составить примеры использования и набор тестов.
Разработать и реализовать класс на базе класса СТРОКА для решения задачи по варианту. Написать пример программы использования класса.
Варианты задания
1.Создать класс БИТОВАЯ_СТРОКА. Строки данного класса могут содержать только символы '0' и '1'. Если в составе инициализирующей строки будут встречены любые симво - лы, отличные от допустимых, БИТОВАЯ_СТРОКА принимает нулевое значение. Добавить возможность инвертирования значения строки.
2.Создать класс ШЕСТНАДЦАТЕРИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы '0', '1', '2', '3','4', '5','6', '7','8', '9','A, 'B','C', 'D', 'E', 'F'. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ШЕСТНАДЦАТЕРИЧНАЯ_СТРОКА принимает нулевое значение. Добавить возможность произведения операции побитовой ИЛИ для двух строк.
3.Создать класс ВОСЬМЕРИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы '0' и '1'. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ВОСЬМЕРИЧНАЯ_СТРОКА принимает нулевое значение. Добавить возможность объединения двух строк.
4.Создать класс ШЕСТНАДЦАТЕРИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы '0', '1', '2', '3','4', '5','6', '7','8', '9','A, 'B','C', 'D', 'E', 'F'. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ШЕСТНАДЦАТЕРИЧНАЯ_СТРОКА принимает нулевое значение. Добавить возможность представления значения строки в двоичной системе.
5.Создать класс БИТОВАЯ_СТРОКА. Строки данного класса могут содержать только символы '0' и '1'. Если в составе инициализирующей строки будут встречены любые симво - лы, отличные от допустимых, БИТОВАЯ_СТРОКА принимает нулевое значение. Добавить возможность представления значения строки в десятичной системе.
6.Создать класс ШЕСТНАДЦАТЕРИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы '0', '1', '2', '3','4', '5','6', '7','8', '9','A, 'B','C', 'D', 'E', 'F'. Если в составе
инициализирующей строки будут встречены любые символы, отличные от допустимых, ШЕСТНАДЦАТЕРИЧНАЯ_СТРОКА принимает нулевое значение. Добавить возможность произведения операции побитовой И для двух строк.
7.Создать класс БИТОВАЯ_СТРОКА. Строки данного класса могут содержать только символы '0' и '1'. Если в составе инициализирующей строки будут встречены любые симво - лы, отличные от допустимых, БИТОВАЯ_СТРОКА принимает нулевое значение. Добавить возможность представления значения строки в шестнадцатеричной системе.
8.Создать класс ВОСЬМЕРИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы '0', '1', '2', '3','4', '5','6', '7'. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ВОСЬМЕРИЧНАЯ_СТРОКА принимает нулевое значение. Добавить возможность заполнения значения строки из числа в десятичной системе.
9.Создать класс БИТОВАЯ_СТРОКА. Строки данного класса могут содержать только символы '0' и '1'. Если в составе инициализирующей строки будут встречены любые симво - лы, отличные от допустимых, БИТОВАЯ_СТРОКА принимает нулевое значение. Добавить возможность заполнения значения строки из числа в шестнадцатеричной системе.
10.Создать класс ВОСЬМЕРИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы '0', '1', '2', '3','4', '5','6', '7'. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ВОСЬМЕРИЧНАЯ_СТРОКА принимает нулевое значение. Добавить возможность произведения операции побитовой ИЛИ для двух строк.
11.Создать класс ШЕСТНАДЦАТЕРИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы '0', '1', '2', '3','4', '5','6', '7','8', '9','A, 'B','C', 'D', 'E', 'F'. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ШЕСТНАДЦАТЕРИЧНАЯ_СТРОКА принимает нулевое значение. Добавить возможность заполнения значения строки из числа в восьмеричной системе.
12.Создать класс БИТОВАЯ_СТРОКА. Строки данного класса могут содержать только символы '0' и '1'. Если в составе инициализирующей строки будут встречены любые симво - лы, отличные от допустимых, БИТОВАЯ_СТРОКА принимает нулевое значение. Добавить возможность объединения двух строк.
13.Создать класс БИТОВАЯ_СТРОКА. Строки данного класса могут содержать только символы '0' и '1'. Если в составе инициализирующей строки будут встречены любые симво - лы, отличные от допустимых, БИТОВАЯ_СТРОКА принимает нулевое значение. Добавить возможность произведения операции побитовой И для двух строк.
14.Создать класс БИТОВАЯ_СТРОКА. Строки данного класса могут содержать только символы '0' и '1'. Если в составе инициализирующей строки будут встречены любые симво - лы, отличные от допустимых, БИТОВАЯ_СТРОКА принимает нулевое значение. Добавить возможность произведения операции побитовой ИЛИ для двух строк.
15.Создать класс ВОСЬМЕРИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы '0', '1', '2', '3','4', '5','6', '7'. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ВОСЬМЕРИЧНАЯ_СТРОКА принимает нулевое значение. Добавить возможность представления значения строки в десятичной системе.
16.Создать класс ШЕСТНАДЦАТЕРИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы от '0', '1', '2', '3','4', '5','6', '7','8', '9','A, 'B','C', 'D', 'E', 'F'. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ШЕСТНАДЦАТЕРИЧНАЯ_СТРОКА принимает нулевое значение. Добавить возможность инвертирования значения строки.
17.Создать класс ВОСЬМЕРИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы '0', '1', '2', '3','4', '5','6', '7'. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ВОСЬМЕРИЧНАЯ_СТРОКА принимает нулевое значение. Добавить возможность представления значения строки в двоич-
ной системе.
18.Создать класс ШЕСТНАДЦАТЕРИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы '0', '1', '2', '3','4', '5','6', '7','8', '9','A, 'B','C', 'D', 'E', 'F'. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ШЕСТНАДЦАТЕРИЧНАЯ_СТРОКА принимает нулевое значение. Добавить возможность представления значения строки в восьмеричной системе.
19.Создать класс ВОСЬМЕРИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы '0', '1', '2', '3','4', '5','6', '7''. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ВОСЬМЕРИЧНАЯ_СТРОКА принимает нулевое значение. Добавить возможность заполнения значения строки из числа в двоичной системе.
20.Создать класс ВОСЬМЕРИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы '0', '1', '2', '3','4', '5','6', '7'. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ВОСЬМЕРИЧНАЯ_СТРОКА принимает нулевое значение. Добавить возможность заполнения значения строки из числа в шестнадцатеричной системе.
21.Создать класс ВОСЬМЕРИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы '0', '1', '2', '3','4', '5','6', '7'. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ВОСЬМЕРИЧНАЯ_СТРОКА принимает нулевое значение. Добавить возможность сравнения двух строк.
22.Создать класс БИТОВАЯ_СТРОКА. Строки данного класса могут содержать только символы '0' и '1'. Если в составе инициализирующей строки будут встречены любые симво - лы, отличные от допустимых, БИТОВАЯ_СТРОКА принимает нулевое значение. Добавить возможность заполнения значения строки из числа в десятичной системе.
23.Создать класс ШЕСТНАДЦАТЕРИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы '0', '1', '2', '3','4', '5','6', '7','8', '9','A, 'B','C', 'D', 'E', 'F'. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ШЕСТНАДЦАТЕРИЧНАЯ_СТРОКА принимает нулевое значение. Добавить возможность представления значения строки в десятичной системе.
24.Создать класс ВОСЬМЕРИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы от '0', '1', '2', '3','4', '5','6', '7'. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ВОСЬМЕРИЧНАЯ_СТРОКА принимает нулевое значение. Добавить возможность инвертирования значения строки.
25.Создать класс ШЕСТНАДЦАТЕРИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы '0', '1', '2', '3','4', '5','6', '7','8', '9','A, 'B','C', 'D', 'E', 'F'. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ШЕСТНАДЦАТЕРИЧНАЯ_СТРОКА принимает нулевое значение. Добавить возможность заполнения значения строки из числа в десятичной системе.
26.Создать класс БИТОВАЯ_СТРОКА. Строки данного класса могут содержать только символы '0' и '1'. Если в составе инициализирующей строки будут встречены любые симво - лы, отличные от допустимых, БИТОВАЯ_СТРОКА принимает нулевое значение. Добавить возможность представления значения строки в восьмеричной системе.
27.Создать класс ВОСЬМЕРИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы '0', '1', '2', '3','4', '5','6', '7'. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ВОСЬМЕРИЧНАЯ_СТРОКА принимает нулевое значение. Добавить возможность представления значения строки в шестнадцатеричной системе.
28.Создать класс БИТОВАЯ_СТРОКА. Строки данного класса могут содержать только символы '0' и '1'. Если в составе инициализирующей строки будут встречены любые симво - лы, отличные от допустимых, БИТОВАЯ_СТРОКА принимает нулевое значение. Добавить возможность заполнения значения строки из числа в восьмеричной системе.