![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 31.05.2013
Сообщений: 9
|
![]()
[C++] Задание на курсовую работу.
A. Разработайте иерархию родственных типов, корневой класс которой - абстрактный базовый класс, для моделирования и обработки данных предметной области. B. Создайте обобщенный контейнерный класс (базовый) и от него, используя закрытое наследование, производный класс – шаблон для хранения указателей на абстрактный базовый класс согласно варианта (вариант - статический вектор). C. Для хранения объектов каждого производного класса используйте структуру данных согласно варианта (вариант - статический вектор). Смогла реализовать всё, кроме задания B. Базовый класс и от него шаблон написала, но не могу добавить указатели в вектор. Вот код (естественно, не весь): Код:
Последний раз редактировалось Stilet; 31.05.2013 в 18:15. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]()
Ну так Вы пытаетесь занести в вектор не поштучно указатели на элементы другого вектора (как можно бы...), а сам другой вектор. Компилятор и говорит: "извини, начальник, это ящик для фруктов, апельсин сюда положить могу, а 'мешок апельсинов' нет".
|
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 31.05.2013
Сообщений: 9
|
![]()
Поштучно тоже пробовала. Тогда в момент выполнения программы вылетает ошибка адреса модуля.
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]()
Ну, отлаживайте. Из видимого меня настораживает только то, что SVector :: operator [] возвращает неопределённое значение. Компилятор должен был ругнуться.
|
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 31.05.2013
Сообщений: 9
|
![]()
Если б знала, что и как отлаживать.
С перегрузкой [] в классе SVector, вполне возможно, не всё так, как должно быть. Если у Вас есть какой-либо вариант реализации, буду рада. |
![]() |
![]() |
![]() |
#6 | ||
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]() Цитата:
Цитата:
Ну, или просто посмотрите глазами на эту строку: Код:
|
||
![]() |
![]() |
![]() |
#7 | |
Новичок
Джуниор
Регистрация: 31.05.2013
Сообщений: 9
|
![]()
Компилятор нигде не ругается, за исключением того, что уже писала.
Если б я была достаточно сильна в Си, то смущало бы. А так, я лишь вижу, что внутри этой функции Цитата:
Сколько бы Вы меня носом не тыкали, проще будет помочь непосредственно с реализацией части В задания. |
|
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#9 |
Новичок
Джуниор
Регистрация: 31.05.2013
Сообщений: 9
|
![]()
Приходила к преподу показать курсовик. Эту часть стали рассматривать чуть более подробно, т.к. она нужна для полиморфной обработки данных. Ну, и то, что тут написано, диктовал он. По его словам: берём ссылку на V и передаем в функцию базового класса, где используя void* компилятор должен, по идее, сам провести необходимое преобразование. Только что во что будет преобразовываться я уже не вкурила.
|
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Наследования. К указанной ниже программы добавить базовый абстрактный класс. | Кулибаба Петро | C++ Builder | 0 | 17.01.2013 22:26 |
Сортировка массива указателей на абстрактный базовый класс | Frants | Общие вопросы C/C++ | 11 | 29.11.2012 19:44 |
Создать абстрактный базовый класс C++ | MicRaiS | Общие вопросы C/C++ | 3 | 11.06.2012 13:14 |
Абстрактный базовый класс(задача) | friman134 | Общие вопросы C/C++ | 2 | 17.12.2011 21:51 |