|
0 / 0 / 0
Регистрация: 04.06.2015
Сообщений: 7
|
|
Класс MyString через статические члены класса04.06.2015, 23:07. Показов 3535. Ответов 10
Метки нет (Все метки)
Всем доброго времени суток.
Возникла необходимость решить задачу, хочу обратиться к знающим людям за подходящим к данной задаче примером, где используются требуемые в задании методы. Поиском честно пользовался, но достаточно наглядного для себя примера, к сожалению, не нашел. Само задание формулируется так: требуется реализовать класс MyString таким образом, чтобы все строки хранились в единственном экземпляре. Это можно сделать так (посредством односвязного списка). И также нужно использовать вспомогательный класс Counter, который является "оберткой" для строки и содержит вспомогательные данные, которые в частности позволят избежать дублирования данных. Переменные (обычные): • указатель на динамически создаваемую строку – m_pStr • счетчик пользователей данной строки - m_nOwners • указатель на следующий Counter – pPrev Методы: • конструктор (конструкторы) • деструктор • добавить пользователя • убрать пользователя (что делать, если это был последний пользователь, и строка больше никому не нужна?) Полное задание с поясняющей диаграммой в формате pdf приложил к сообщению. Спешу сообщить, что я не "халявщик", как кто-то, возможно, успел подумать, и никого не смею просить решить полностью задачу за себя, прошу лишь дать поясняющие примеры, чтобы лучше понять, как это все должно работать. Был продолжительный перерыв в практике программирования, сейчас тяжеловато возвращаться, а надо.
0
|
|
| 04.06.2015, 23:07 | |
|
Ответы с готовыми решениями:
10
класс «Строка» (данные-члены класса – строчка, функции-члены класса – операции) Статические члены класса Статические члены класса |
|
Просто Лис
|
||||||
| 05.06.2015, 18:18 | ||||||
![]() Добавлено через 1 час 33 минуты А нет, компилируется. Ну вот, вам осталось сделать самое интересное, поиск элемента в списке.
1
|
||||||
|
0 / 0 / 0
Регистрация: 04.06.2015
Сообщений: 7
|
|
| 07.06.2015, 10:27 [ТС] | |
|
Благодарю! Позже отпишусь о результате.
0
|
|
|
0 / 0 / 0
Регистрация: 04.06.2015
Сообщений: 7
|
|||||||||||
| 10.06.2015, 21:08 [ТС] | |||||||||||
|
Поиск элемента, все-таки, не самое интересное
![]() Не могу разобраться с одной простой вещью: в случае, если новая строка ранее не создавалась, как правильно создать новый Counter? Если делаю
0
|
|||||||||||
|
Просто Лис
|
||||||||||||||
| 10.06.2015, 21:35 | ||||||||||||||
* добавление поля * Написание деструктора класса MyString. * Написание метода удаления строки в классе Counter. Добавлено через 7 минут Кстати, строчку
1
|
||||||||||||||
|
0 / 0 / 0
Регистрация: 04.06.2015
Сообщений: 7
|
|
| 10.06.2015, 23:01 [ТС] | |
|
Спасибо, базовый функционал заработал.
0
|
|
|
0 / 0 / 0
Регистрация: 04.06.2015
Сообщений: 7
|
||||||||||||||||||||||||||
| 18.06.2015, 00:39 [ТС] | ||||||||||||||||||||||||||
|
Программа выглядит сейчас вот так:
main.cpp
0
|
||||||||||||||||||||||||||
|
Просто Лис
|
|||||||||||||||||
| 18.06.2015, 13:51 | |||||||||||||||||
|
Кликните здесь для просмотра всего текста
Для этого ищем указатель, который ссылается на этот элемент. (допустим это temp). И делаем так:
1 -> 2 -> 3 -> 4 а стало: 1 -> 3 -> 4 А удаляемый элемент (2) удаляем:
1
|
|||||||||||||||||
|
0 / 0 / 0
Регистрация: 04.06.2015
Сообщений: 7
|
|||||||
| 18.06.2015, 16:24 [ТС] | |||||||
|
Элемент, который надо убрать - это temp.
0
|
|||||||
|
0 / 0 / 0
Регистрация: 04.06.2015
Сообщений: 7
|
|
| 20.06.2015, 00:08 [ТС] | |
|
Извиняюсь, спойлер просто не заметил.
Добавлено через 23 часа 26 минут С кодом разобрался, заготовку из main программа отрабатывает правильно. Спасибо! Сейчас еще пару методов для Counter попытаюсь написать.
0
|
|
| 20.06.2015, 00:08 | |
|
Помогаю со студенческими работами здесь
11
Статические массивы, члены класса Как инициализировать статические члены класса Конструктор класса, содержащего только статические члены Как правильно инициализировать статические члены класса? Статические члены класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|