Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Необходимо реализовать класс тестового редатора TextEditor в файлах TextEditor.h TextEditor.cpp, содержащего текст в виде L2 списка строк:
- Реализовать класс строки: Line, содержащего строку(std::string) и указатели на следующую и предыдущую строку
- С помощью класса Line реализовать L2 список строк, начало и указаталь которого содержится в классе TextEditor. Если текст пустой, то указатель и начало никуда не указывает(NULL)
- Реализовать метод void point(int count) который свдвигает указатель на count шагов по списку. Если отрицательное, то назад, если положительное - вперед. При сдвиге дальше концов списка, ставить в конец списка.
- Реализовать метод void insert(const std:string &lineText) который вставляет строку между указателем и следующей за ней строкой. Указатель смещается на вставленную строку. Если текст пустой, то строка становится просто первой.
- Реализовать метод void remove() который удаляет строку по указателю. указатель сдвигается на следующую строку. Если это конец текста, то на предыдщую.
- Переопредлеить std::string operator [](int count), который возвращает значение строки на позиции на расстоянии count относительно указателя (Работает так же как и в п.3). Если текст пустой, то вернуть пустую строку.
- Переопредлеить operator =(std::string &lineText), который устаналивает значение строки по указателю
- Реализовать функцию std::string print() которая возвращает содержание полного текста в редаторе. Строки должны быть разделены переносом строки(\n). В конце теста тоже перенос строки. Если текста нет, то вернуть пустую строку.
- Реализовать функцию bool empty() которая возвращает пустой ли текстовый редактор.
- Внимание! Использование STL запрещено, кроме std::string.
- P.S.
- Класс std::string содержаится в заголовочном файле
- P.P.S.
- Необходимо написать корректный дестурктор, который удаляет все строки.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement