1 | ||||||
Создать класс String21.11.2014, 00:33. Показов 20554. Ответов 4
Метки нет (Все метки)
Есть такое задание.
//Создать консольное приложение, содержащее реализацию и практическое применение класса Строка. Данный класс должен быть основан на динамическом расширяемом массиве символов. Функциональность класса: //1. Инициализация строки. //2. Изменение строки. //3. Возвращение строки. //4. Получение длинны строки. //5. Добавление строки к существующей. //6. Вставка символа в указанную позицию строки. //7. Вывод на экран ANSII кодов строки. //8. Перевод символов строки в большой регистр. //9. Перевод символов строки в маленький регистр. Придумал решение первых 5 заданий, помогите с остальным. Вот что надумал.
0
|
21.11.2014, 00:33 | |
Ответы с готовыми решениями:
4
Создать класс String Создать строковый шаблонный класс String Как создать динамический массив типа string? Как создать класс такого массива? Что нужно знать, чтобы создать класс String? |
Модератор
3387 / 2159 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
|
|
21.11.2014, 10:54 | 2 |
Сообщение было отмечено EfimKR как решение
Решение
оставшиеся задания выглядят совсем не сложными по сравнению с теми которые вы уже решили.
//6. Вставка символа в указанную позицию строки. - bool insert(char c, int pos) {if (pos > len) return false; S[pos] = c; return true;} //7. Вывод на экран ANSII кодов строки. - я полагаю надо просто возвращать символ из указанной позиции и если это проблематично для вызывающего кода приводить код символа к int //8. Перевод символов строки в большой регистр. - есть функция strupr но могут быть проблемы с русским //9. Перевод символов строки в маленький регистр. - есть функция strlwr но могут быть проблемы с русским + учтен ли у вас вариант когда в конструктор или оператор= передают строку у которой S = 0
1
|
21.11.2014, 22:25 [ТС] | 3 |
Имеется в виду, создание строки без элементов?
при этом мы просто заменим символ, а как можно реализовать вставку с увеличением длины строки?
Просто я сомневаюсь, что корректно отработает вариант перевыделения памяти (delete[]/new[]).
0
|
Модератор
3387 / 2159 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
|
|
24.11.2014, 09:28 | 4 |
либо без элементов либо вообще передача нулевого указателя
почему сомневаетесь? выделяете рядом новый кусок памяти размером как было + 1, копируете в нее все до позиции, копируете символ, копируете все после позиции, удаляете исходный кусок памяти, присваиваете указателю новый кусок памяти
1
|
24.11.2014, 20:12 [ТС] | 5 |
vxg, уже сделал.
1
|
24.11.2014, 20:12 | |
24.11.2014, 20:12 | |
Помогаю со студенческими работами здесь
5
Создать класс String – строку, используя динамическую память Создать класс. Символьное поле должно быть задано как объект класса string Здравствуйте! Создал класс std::string. Не создается объкт типа string... Подскажите в чем причина? Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ... Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |