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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
#pragma
Временно недоступен
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
#1

Вектор,состоящий из структур - C++

19.05.2009, 23:29. Просмотров 1602. Ответов 6
Метки нет (Все метки)

Допустим,есть структура Date,которая выглядит так:
C++
1
2
3
struct Date {
    string name,date;
}
Далее в программе создаётся вектор
C++
1
vector<Date>dates_vector;
Обращаясь к элементу структуры через вектор,мы используем такую запись
C++
1
dates_vector[0].name="1 сентября 2009 года";
А как использовать (в смысле формы записи) функцию push_back,относящуюся к вектору?Например,мы хотим добавить в конец вектора ещё один элемент.Как это записать?При попытке
C++
1
dates_vector.push_back();
компилятор ругается.

/media/Part2/C++/Projects/CodeBlocks/5.9/5.9.13.cpp||In member function ‘void Date::dates_reader()’:|
/media/Part2/C++/Projects/CodeBlocks/5.9/5.9.13.cpp|11|ошибка: нет подходящей функции для вызова ‘std::vector<Date, std::allocator<Date> >::push_back(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)’|
/usr/include/c++/4.2/bits/stl_vector.h|597|замечание: претенденты: void std::vector<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = Date, _Alloc = std::allocator<Date>]|
||=== Build finished: 2 errors, 0 warnings ===|

Как записать правильно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2009, 23:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вектор,состоящий из структур (C++):

Создать вектор, состоящий из элементов главной диагонали - C++
Сгенерировать матрицу M на N. Создать вектор, состоящий из элементов главной диагонали. Заранее благодарю.

Вектор структур - C++
Здравствуйте, есть код с вектором структур #include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;cstdlib&gt; #include &lt;vector&gt; #include...

вектор структур - C++
допустим есть структура struct human { name; age; //..... } объявим вектор std::vector&lt;human&gt; vec как сделать поиск...

Можно ли представить структуру как элемент массива, т е массив состоящий из однотипных структур - C++
Можно ли представить структуру как элемент массива, т е массив состоящий из однотипных структур

Вектор массива структур - C++
struct RectangleStruct { int width; int length; }; int main () { std::vector&lt;RectangleStruct&gt; Rectangle; } Не...

Вектор структур в функцию - C++
1.Необходимо считать в массив структур данный хранящиеся в файле (фамилия ,оценки).Проблема в том,что количество фамилий неизвестно,и...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
19.05.2009, 23:33 #2
dates_vector.push_back(Date());
#pragma
Временно недоступен
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
19.05.2009, 23:36  [ТС] #3
А инициализация элементов name и date возможна сразу же,в этой же строке?
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
19.05.2009, 23:43 #4
#pragma,
возможна, если у Date будет конструктор

C++
1
2
3
4
5
6
7
struct Date
{
    Date(const std::string&, const std::string&);
    std::string name,date;
};
 
v.push_back(Date("", ""));
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,368
19.05.2009, 23:49 #5
Если определишь конструктор, то элементарно:
C++
1
2
3
4
5
6
struct Date {
    string name, date; 
    Date(const string& _n, const string& _d): name(_n), date(_d) {}; 
} 
 
dates_vector.push_back(Date("Вася Пупкин", "1 января 2009 года"));
#pragma
Временно недоступен
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
20.05.2009, 00:09  [ТС] #6
А в структурах не обязательно определять деструктор,если конструктор не по умолчанию,как в классах?
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
20.05.2009, 00:12 #7
структура - это практически тоже самое что и класс, толко доступ к полям по-умолчанию не private а public
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2009, 00:12
Привет! Вот еще темы с ответами:

Сортировать вектор структур - C++
Отсортировать вектор по одному из полей, используя алгоритмы STL. По возможности использовать все перегрузки сортировки (фраза, которую я...

Вектор (не из STL) из структур - C++
привет Ребят, задача была поставлена так: нужно сделать прогу, которая бы считывала слова из файла, записывала и сортировала их в...

Организовать вектор структур - C++
не могу разобраться(((( имеется товар 100 PC , 120 Dress, 80 Shits. надо чтобы к каждому элементу я имел доступ и желательно все это...

Ошибка, вектор структур - C++
У меня есть такая структура: struct Card { int dostoinstvo; //достоинство карты char mast; //масть }; И вектор:


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.05.2009, 00:12
Ответ Создать тему
Опции темы

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