|
0 / 0 / 0
Регистрация: 11.05.2021
Сообщений: 6
|
|
Реализация наследования 2-х структур от абстрактной структуры11.05.2021, 18:38. Показов 2069. Ответов 10
Помогите, не могу понять как реализовать классы правильно.
Само задание: 2 задание В небольшом тексте (30-40 слов) необходимо выделить слова из многих букв (Тип: А) и однобуквенные слова (Тип: Б). Базовый тип (абстрактный) для указанных типов: Х. Заполнить объектами этих типов базу данных применяя шаблонный тип multiset. Вывести на консоль, последовательно обращаясь к содержимому БД, многобуквенные слова. Они должны быть отсортированы по алфавиту. Не забывать освобождать ресурсы. Я понимаю, что нужно нужно сделать абстрактный класс и унаследовать от него 2 класса. Но не могу понять, где объявлять переменную которая и будет хранить слова. Я реализовал так: *Прикрепил фото* Если с записью проблем вроде бы нет, то с попыткой вывода появляются. Тк. объявить 2 метода, которые возвращают разные данные не могу, а также когда вызываю get для родительского класса, он не перенаправляет вызов к дочернему, а сам выполняет функцию.
0
|
|
| 11.05.2021, 18:38 | |
|
Ответы с готовыми решениями:
10
Чем отличаются структуры для наследования интерфейса от структур для наследования реализаций? Структуры.Обработка массивов структур.Создать массив структур из 10-ти элементов Реализация наследования |
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 11.05.2021, 18:52 | |
|
И это вообще компилируется? multiset тогда указатели должен хранить.
0
|
|
|
388 / 333 / 65
Регистрация: 14.10.2014
Сообщений: 1,438
|
|
| 11.05.2021, 18:57 | |
|
Забавно видеть в структуре публичные поля
. Похоже, кто-то теорию пропускал
0
|
|
|
0 / 0 / 0
Регистрация: 11.05.2021
Сообщений: 6
|
|
| 11.05.2021, 19:02 [ТС] | |
|
А как мне производить заполнение тогда?
Добавлено через 1 минуту Изначально все было корректно, но потом когда начались проблемы с set пришлось их как-то решать. В итоге имеем то, что имеем
0
|
|
|
388 / 333 / 65
Регистрация: 14.10.2014
Сообщений: 1,438
|
||
| 11.05.2021, 19:05 | ||
|
И наследование здесь закрытое, то есть методы родителя извне недоступны - только в классе потомке - не ну может так оно и задумано я х/з.
Добавлено через 2 минуты - решение - самое простое - почитать любую нормальную книгу по плюсам (которая под тыщу страниц). Там про наследование точно будет написано с примерами
0
|
||
|
0 / 0 / 0
Регистрация: 11.05.2021
Сообщений: 6
|
||
| 11.05.2021, 19:06 [ТС] | ||
|
0
|
||
|
388 / 333 / 65
Регистрация: 14.10.2014
Сообщений: 1,438
|
|||||
| 11.05.2021, 19:12 | |||||
?
0
|
|||||
|
0 / 0 / 0
Регистрация: 11.05.2021
Сообщений: 6
|
||
| 11.05.2021, 19:55 [ТС] | ||
|
Спасибо, обязательно прочитаю.
Добавлено через 3 минуты А сам multiset объявлять в классе абстрактном? Добавлено через 10 минут Добавлено через 14 минут Как я понимаю каждый объект класса наследника должен хранить 1 слово либо много- либо однобуквенное. И соответственно в multiset они должны сортироваться по возрастанию по умолчанию. Получается я должен заполнять multiset <basic*> двумя наследуемыми классами multi и single. А потом производить вывод, если объект класса multi, то выводить его слово на экран. Добавлено через 13 минут Получилось так: Basic.h #include <string> using namespace std; struct basic { string word; virtual void setWord(string w) = 0; virtual string getWord() = 0; }; Single.h #include "Basic.h" struct Single : public basic { void setWord(string w) override; string getWord() override; };
0
|
||
|
388 / 333 / 65
Регистрация: 14.10.2014
Сообщений: 1,438
|
||||||
| 12.05.2021, 08:50 | ||||||
|
Lozb1k, вот небольшой пример (без какой либо смысловой нагрузки - просто пример)
0
|
||||||
|
2673 / 1335 / 480
Регистрация: 08.11.2016
Сообщений: 3,688
|
|
| 12.05.2021, 13:53 | |
|
1
|
|
|
388 / 333 / 65
Регистрация: 14.10.2014
Сообщений: 1,438
|
||
| 12.05.2021, 20:26 | ||
|
0
|
||
| 12.05.2021, 20:26 | |
|
Помогаю со студенческими работами здесь
11
Реализация НАСЛЕДОВАНИЯ Реализация наследования Реализация наследования в справочниках. Реализация одиночного наследования Классы и наследования. Реализация интерфейсов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера 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. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|