Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Андрей1010
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 10
#1

Как правильно извлечь данные из вектора и поместить в обект CStepMove - C++

22.01.2014, 13:23. Просмотров 330. Ответов 4
Метки нет (Все метки)

Дорого времени суток. В общем у меня такая проблемма. Есть родительский класс CStep. У него есть наследник CStepMove. Создаю вектор:
C++
1
2
3
  vector <CStep> ChangeBack;  
  CStepMove  B(IDList, X, Y);
  ChangeBack.push_back(B);
И добавляю в него объёкт класса CStepMove.
Вопрос состоит в следующем, подскажите как правильно извлечь данные из вектора и поместить в обект CStepMove, можно просто получить ссылку.
Один из моих вариантов был:
C++
1
      A = dynamic_cast <CStepMove*> (&ChangeBack.back());
Вариант компилится, но при выполнении операция dynamic_cast возвращает NULL, хотя только что добавлялся объект CStepMove. Подскажите пожалуйстакак правильно получить доступ к данным в этом векторе.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2014, 13:23     Как правильно извлечь данные из вектора и поместить в обект CStepMove
Посмотрите здесь:

Как извлечь данные из pcap-файла? - C++
Как извлечь данные из pcap-файла? Всем доброго времени суток! Мне необходимо сделать программу, которая извлекает все файлы, которые...

Извлечь элемент из вектора - C++
Пожалуйста, помогите разобраться. Это функция разбивки строки на лексемы, и копирования результатов разбивки в вектор. void...

Как правильно копировать и добавлять вектора? - C++
Есть вектора vect1 и vect2, содержащие, допустим, значения double: using namespace std; vector&lt;double&gt; vect1, vect2;Как...

Как правильно ввести два вектора ? - C++
надо чтобы элементы векторов вводились с клавиатуры, а у меня что-то не получается. и еще надо будет найти сумму векторов, но это я...

Как правильно вызвать конструктор вектора в данном случае? - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;map&gt; #include &lt;vector&gt; #include &lt;string&gt; using namespace std; typedef...

Удалить данные из вектора (игра в города) - не могу понять, почему данные остаются в векторе? - C++
Ребят, почему так выводит(все время первый город вектора)? vector&lt;string&gt; wcities; vector&lt;string&gt; Bot::Insert(string put) { ...

Извлечь данные из xml - C++
Народ есть app.xml с вот таким содержимым &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt; &lt;Properties...

Как правильно прочитать данные? - C++
Как правильно прочитать данные? &quot;ER-200&quot; 06:43 10:40 &quot;Red Arrow&quot; 23:55 07:55 &quot;Express&quot; 23:59 08:00 &quot;Slow Train 1&quot; 10:00 09:59 ...

Извлечь данные из бинарного файла - C++
Написать функцию которая извлекает данные из из бинарного файла в структуру. Обязательный параметр - номер требуемой записи

Как правильно сохранить данные массива - C++
Программа узнает значения массивов и потом рандомит их между собой. Что делает хорошо. Но вот не сохраняет и не фильтрует от повторений...

Прилетают данные UTF-8, как правильно преобразовать в читабельный вид? - C++
Как преобразовать вот это: cout &lt;&lt; buf&lt;&lt;endl; Выдает в UTF-8 кодировке: 01%3Aasd+%D0%92%D0%B0%D1%81%D0%B8%D0%BB%D0%B8%D0%B9 ...

Как правильно занести данные в массив char и вывести их из него - C++
char a1; //Массив в который надо перенести данные char a2 = &quot;32167aqe&quot;; //Массив - источних данных cout &lt;&lt; &quot;Musor v a1:&quot; &lt;&lt; endl;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
22.01.2014, 13:39     Как правильно извлечь данные из вектора и поместить в обект CStepMove #2
Никак уже не достать. Ты испортил свой объект в векторе, когда сделал пушбек.
Теперь от него отрезано всё лишнее, что было в CstepMove безвозвратно!
Андрей1010
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 10
22.01.2014, 13:52  [ТС]     Как правильно извлечь данные из вектора и поместить в обект CStepMove #3
Подскажите тогда пожалуйста, как можно сохранять объекты разных классов (наследников одного класса) в одном месте, и вытаскивать эти объкты при необходимости?
Для этого вообще можно воспользоваться STL-библиотекой?
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
22.01.2014, 14:26     Как правильно извлечь данные из вектора и поместить в обект CStepMove #4
Цитата Сообщение от Андрей1010 Посмотреть сообщение
Подскажите тогда пожалуйста, как можно сохранять объекты разных классов (наследников одного класса)
Хранить в контейнере указатели на базовый класс.

Цитата Сообщение от Андрей1010 Посмотреть сообщение
вытаскивать эти объкты при необходимости?
Если во время выполнения нужно знать конкретный тип объекта, можно воспользоваться dynamic_cast. Но если возникает такая необходимость, лучше пересмотреть решение и не сваливать разные объекты в один контейнер.
Если же работа с ними будет только посредством вируальных функций базового класса - все в порядке.
Андрей1010
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 10
22.01.2014, 15:05  [ТС]     Как правильно извлечь данные из вектора и поместить в обект CStepMove #5
Большое спасибо! Вы мне очень помогли.
Yandex
Объявления
22.01.2014, 15:05     Как правильно извлечь данные из вектора и поместить в обект CStepMove
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru