С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
1

Std::vector/QVector в классе или std::vector/QVector классов?

17.04.2016, 20:50. Показов 3335. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе время суток!

Собственно вопрос в самой теме, есть некий класс
C++
1
2
3
4
5
6
7
8
9
10
11
class WorkJornal
{
private:
    string  manager;
    string  name_Obj;
    //some code
    
    
public:
    WorkJornal();
};
Это как бы столбцы таблицы некой базы, строки решено реализовать через вектор/кэвектор не суть. Теперь вопрос на милион как лучше писать код, создавать вектор в группе привате, или же загонять каждый экземпляр класса вектор во "внешней" среде?
0
Лучшие ответы (1)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Блог
17.04.2016, 20:50
Ответы с готовыми решениями:

На основе исходного std::vector<std::string> содержащего числа, создать std::vector<int> с этими же числами
подскажите есть вот такая задача. Есть список . Создать второй список, в котором будут все эти же...

QVector::reserve() + std::vector::reserve() и добавление в начало
Если зарезервировать в новосозданном векторе место, а затем добавлять объекты классов в начало -...

Как передать целочисленную матрицу типа std::vector<std::vector<int> > в функцию?
Здравствуйте. Почитал на форуме, но так и не понял что я делаю не так. Имеется двумерный вектор....

Вывести значения std::vector<std::vector<int*> >
Подскажите, как вывести значения? const size_t row = 3; const size_t col = 3;...

8
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
17.04.2016, 22:23 2
А откуда здесь много экземпляров? Один вектор и будет вся таблица.
0
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
17.04.2016, 22:28  [ТС] 3
nmcf, тесть правильно ли я понимаю что запись
C++
1
2
3
4
class WorkJornal {
//some code
};
std::vector <WorkJornal> arrVec;
будет коректной?
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
17.04.2016, 22:33 4
Лучший ответ Сообщение было отмечено Mesteriis как решение

Решение

Ну это по желанию. Если WorkJornal представляет ту самую таблицу, то вектор внутри, а поля те тогда в структуру надо поместить.
Если WorkJornal - это набор полей одной строки, то просто вектор сам по себе.
0
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
17.04.2016, 22:35  [ТС] 5
nmcf, ага, мерси, а тогда другой вопрос если я вектор засуну в приват то мне же будет необходимо переопределить все операторы для него? Или я заблуждаюсь
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
17.04.2016, 22:39 6
Да, для доступа извне надо что-то придумывать.
1
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
18.04.2016, 09:22  [ТС] 7
nmcf, хм, хорошо тогда вопрос на отвлеченный манер.
Смотри есть некая таблица, по сути эта база контактов, там адрес наименование и прочие, требуется разработать класс для работы с этой таблицей, действия которые подразумеваются с данными, это сортировка по конкретным полям, поиск дубликатов, ну и изменения некоторых колонок.

Теперь вопрос, как лучше построить работу программы. Создать класс и все делать в нем или же на каждую строку таблица, отдельный класс. Если важно то при каждом старте софтины база будет прочитана из файла (текстового пока, потом планируется подтянуть SQL базу) ну и соответственно при выходе записано в негоже.
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
18.04.2016, 10:10 8
А чем плох вариант с вектором, хранящим структуры, содержащие поля?
Делать каждую строку классом - ну если в этом есть какая-то потребность, сделай. Для хранения хватит и структуры.
А вот если планируется SQL, то в Qt уже есть модели (QSqlTableModel и прочие), там почти всё реализовано. Да и без SQL можно модель использовать.
1
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
18.04.2016, 10:11  [ТС] 9
nmcf, хм, ок. Есть над чем подумать, большое спасибо за помощь.
0
18.04.2016, 10:11
BasicMan
Эксперт
19315 / 2622 / 84
Регистрация: 17.02.2009
Сообщений: 10,364
Блог
18.04.2016, 10:11
Помогаю со студенческими работами здесь

Как изменять размер std::vector<std::vector>?
Здравствуйте, как нужно изменять размер std::vector&lt;std::vector&gt; например: ...

Std::vector<std::pair<std::vector<int>::iterator, std::vector<int>::iterator>
Вопрос по вектору. Допустим есть вектор, std::vector&lt;int&gt; vec; на каком - то этапе заполнения я...

Инициализация статического члена std::vector в шаблонном классе
есть класс myclass , владеющий классом struct template&lt;class T&gt; class myclass { struct...

Реализация класса MyString. Стандартная библиотека, std::string, std::vector
как добавить реализацию конкатенации строк через перегрузку оператора &quot;+=&quot; в классе MyString и...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru