|
29 / 24 / 5
Регистрация: 15.10.2019
Сообщений: 268
|
||||||||||||||||
Шаблонный класс динамического массива. Тип элементов char*08.11.2022, 21:34. Показов 2291. Ответов 28
Метки нет (Все метки)
Я тут в ступоре...
Вот мое полное задание: В данной лабораторной работе необходимо разработать шаблонный класс в соответствии с вариантом задания. Любой класс должен иметь конструктор копии и перегруженный оператор =. Также класс должен содержать перегрузку оператора << для класса iostream, чтобы его можно было выводить в консоль через стандартный поток вывода cout с указанием количества элементов и их значений. В главной функции main обеспечить консольный интерфейс для тестирование всех функций шаблонного класса с типами int, float, char*, struct Vec2 {float x; float y;} (аналогично лаб 1) Non-type параметр при тестировании класса можно задавать через константу. Динамический массив, использующий избыточное резервирование памяти под элементы. Увеличивает ёмкость на количество элементов, заданных в non-type параметре. Необходимые методы: reserve(n) – зарезервировать ещё n элементов getCapacity() – получить текущую ёмкость getLength() – получить текущую длину insert(elem,n) – добавить элемент на позицию n remove(elem,n) – удалить элемент на позиции n Перегрузить следующие операции: + – добавить элемент в конец массива - – удалить первое вхождение элемента в массиве (для типа char* должна быть своя специализация шаблона) [] – доступ к элементу по индексу == и != – проверка на идентичность и не идентичность массивов (для типа char* должна быть своя специализация шаблона) Местами есть приписка, что нужна обязательна специализация шаблона для char*, но у меня без этого все работает. Поэтому вопрос, специализация действительно нужна? Или это могли дать так, чисто ради задания?
0
|
||||||||||||||||
| 08.11.2022, 21:34 | |
|
Ответы с готовыми решениями:
28
Написать шаблонный класс, который создает копию двумерного динамического массива произвольного типа Разработать шаблонный класс Stek на основе динамического массива размером 100
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 09.11.2022, 20:45 | ||
|
DrOffset, ну прям щами по мордами, иой французкий не то что бы плох,он никакой
![]() Теперь мы точно говоорим об одном, только при всем этом, мне не понятна роль форума (для таких людей)?
0
|
||
|
29 / 24 / 5
Регистрация: 15.10.2019
Сообщений: 268
|
|||||||||||
| 09.11.2022, 21:10 [ТС] | |||||||||||
|
DrOffset, иду к Вам на поклон
Сегодня спросил у преподавателя про специализацию, получил ответ, что нужно делать специализацию шаблона, а чтоб не было повтора кода, занести все общее в базовый класс, потом через заглушку сделать для реализации по умолчанию для инт, флоат и тд. И потом уж делать частичную специализацию для класса. Я попытался воплотить услышанное. Но получаю ошибку, которую не получается решить.
0
|
|||||||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 09.11.2022, 21:21 | ||
|
"Я так вижу" , в программировании не работает. В таком режиме вы (преподаватель) упрется в стену, что нужно все переделывать. Все-все. Без вариантов.
0
|
||
|
29 / 24 / 5
Регистрация: 15.10.2019
Сообщений: 268
|
|
| 09.11.2022, 21:27 [ТС] | |
|
SmallEvil, возьмем на заметку, но в данный момент это не применимо
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||||||||||||||||||||
| 09.11.2022, 21:31 | ||||||||||||||||||||
![]() Если это вам кажется проще, чем то, что я предложил я, то пожалуй мне нечего будет добавить к теме.
1
|
||||||||||||||||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 09.11.2022, 21:38 | |
|
0
|
|
| 09.11.2022, 21:50 | |
|
0
|
|
|
29 / 24 / 5
Регистрация: 15.10.2019
Сообщений: 268
|
||||||||||||
| 09.11.2022, 22:36 [ТС] | ||||||||||||
|
я внес ваши правки, а также понял, что не правильно делал копировал строковые элементы массива пока переделал в alloc и insert
0
|
||||||||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 09.11.2022, 22:50 | |
|
billy121, маленькая подсказка: виртуальность тут нафиг не нужна. У вас всё поведение статическое, решаемое через шаблоны.
0
|
|
| 09.11.2022, 22:50 | |
|
Разработать шаблонный класс для нахождения заданных значений среди элементов одномерного массива
Вычисления суммы элементов массива с явной специализацией (тип char*) как переделать шаблонный класс-стек в шаблонный класс-очередь ! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|