Реализация без использования STL кроме iostream.
В данном проекте я реализовал класс MyString (аналог string из STL) и производный от него класс MyIdentifier (С идентификаторы).
В классе MyString были реализованы методы: конструктор без параметров;
- конструктор, принимающий в качестве параметра Си-строку (заканчивается нулевым битом);
- конструктор, принимающий в качестве параметра символ;
- конструктор копирования;
- получение длины строки;
- очистка строки (сделать строку пустой);
- деструктор.
В классе MyIdentifier реализованы:
- конструктор без параметров;
- конструктор, принимающий в качестве параметра Си-строку (заканчивается нулевым битом);
- конструктор, принимающий в качестве параметра символ;
- конструктор копирования;
- перевод всех символов строки в верхний регистр;
- перевод всех символов строки в нижний регистр;
- поиск первого вхождения символа в строку;
- деструктор.
Также, реализованы перегрузки:
- присваивание (=);
- сложение (+) — операция конкатенации строк;
- вычитание (-) — из строки (первый операнд) удаляются все символы, входящие в строку, — второй операнд, при этом может получиться пустая строка;
- оператор > — проверка на больше. Строка считается больше другой, если код символа первой строки в i-й позиции (i изменяется от 0 до n-i, где п — длина более короткой строки) больше кода символа в той же позиции во второй строке, длины строк могут не совпадать.
- оператор < — проверка на меньше. Строка считается меньше другой, если код символа первой строки в i-й позиции (i изменяется от 0 до n-i, где п — длина более короткой строки) меньше кода символа в той же позиции кода символа в той же позиции во второй строке, длины строк могут не совпадать.