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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
#pragma
Временно недоступен
 Аватар для #pragma
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
19.05.2009, 23:29     Вектор,состоящий из структур #1
Допустим,есть структура 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++ Создать вектор, состоящий из элементов главной диагонали
C++ Можно ли представить структуру как элемент массива, т е массив состоящий из однотипных структур
вектор структур C++
Почему не сортируется вектор структур? C++
Вектор (не из STL) из структур C++
C++ Ошибка, вектор структур
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
19.05.2009, 23:33     Вектор,состоящий из структур #2
dates_vector.push_back(Date());
#pragma
Временно недоступен
 Аватар для #pragma
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
19.05.2009, 23:36  [ТС]     Вектор,состоящий из структур #3
А инициализация элементов name и date возможна сразу же,в этой же строке?
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 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
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,315
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
Временно недоступен
 Аватар для #pragma
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
20.05.2009, 00:09  [ТС]     Вектор,состоящий из структур #6
А в структурах не обязательно определять деструктор,если конструктор не по умолчанию,как в классах?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2009, 00:12     Вектор,состоящий из структур
Еще ссылки по теме:

Вектор структур C++
Вектор массива структур C++
Вектор структур в функцию C++
Организовать вектор структур C++
C++ не получается заполнить вектор структур

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

Или воспользуйтесь поиском по форуму:
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
20.05.2009, 00:12     Вектор,состоящий из структур #7
структура - это практически тоже самое что и класс, толко доступ к полям по-умолчанию не private а public
Yandex
Объявления
20.05.2009, 00:12     Вектор,состоящий из структур
Ответ Создать тему
Опции темы

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