С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
nsashans
7 / 7 / 0
Регистрация: 16.07.2012
Сообщений: 56
#1

Вектор типа Класс - C++

05.08.2012, 10:31. Просмотров 1125. Ответов 4
Метки нет (Все метки)

Как правильно работать с вектором тип которого класс, как правильно вносить и считывать данные вектора?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <vector>
using namespace std;
 
class Name
{
    public:
    string name;
    int value;
 
};
int main()
{
    vector<Name> nv;
    Name n_v;
    
    cout << "Ведите имя и значения:\n";
    cin >> n_v.name >> n_v.value;
    nv.push_back(n_v);
    //cout << nv[0];    
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.08.2012, 10:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вектор типа Класс (C++):

Класс "вектор" с конструкторами, позволяющими создать нулевой вектор и вектор с произвольным числом элементов - C++
Привет! Задача следующая. Нужно реализовать класс &quot;вектор&quot; с конструкторами, которые позволяют создать нулевой вектор и вектор с...

Запись информации из вектора типа string в вектор типа double - C++
Как записать только числа , которые хранятся в векторе типа стринг, в вектор типа дабл, в векторе типа стринг есть как буквы так и числа ,...

Класс объявление с элементом типа класс Текст - C++
Необработанное исключение в &quot;0x770015de&quot; в &quot;FAQ.exe&quot;: 0xC0000005: Нарушение прав доступа при записи...

вектор типа string - C++
Привет! Пожскажите пожалуйста как в векторе типа string определить размер каждого входящего в него слова. Это как- то через опе6ратор...

Вектор пользовательского типа данных - C++
Имеется класс: class Students { public: void set_name(string student_name) { name = student_name;...

Класс-вектор в С++ - C++
Здраствуйте. Передо мной стоит задача реализовать произведение и сложение векторов. Информации, той, что я нашел, оказалось мало. Программу...

4
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
05.08.2012, 10:50 #2
nsashans, не понял, в чем проблема? Твой код правильный. Потом работаешь с вектором примерно так (как с массивом)
C++
1
2
for (size_t i=0; i<nv.size(); ++i)
cout << nv[i].name << nv[i].value;
Если ты имеешь ввиду строку :
C++
1
//cout << nv[0]
то выводи так :
C++
1
cout << nv[0].name << nv[0].value;
1
nsashans
7 / 7 / 0
Регистрация: 16.07.2012
Сообщений: 56
05.08.2012, 10:53  [ТС] #3
Цитата Сообщение от nexen Посмотреть сообщение
nv[i].name
Точно! Что то торможу с утра))
0
John Prick
824 / 757 / 152
Регистрация: 27.07.2012
Сообщений: 2,156
Завершенные тесты: 3
05.08.2012, 10:57 #4
Ну всё верно, вроде.
Считываем так:
C++
1
2
for (vector<Name>::const_iterator i = nv.begin(); i != nv.end(); ++i)
    cout << *(i).name << ' ' << *(i).value << '\n';
но лучше for_each пользовать или другой алгоритм для прохода по вектору.
0
-=ЮрА=-
Заблокирован
Автор FAQ
05.08.2012, 12:28 #5
Цитата Сообщение от nsashans Посмотреть сообщение
ак правильно работать с вектором тип которого класс, как правильно вносить и считывать данные вектора?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <vector>
#include <string>
#include <sstream>
#include <iostream>
using namespace std;
 
struct TName//зачем класс если структура более уместна
{
    string name;
    int   value;
};
 
int main()
{
    //Это некая абстракция под ввод с неизвестным числом 
    //элементов TName
    string data = 
        "name1 25\n"
        "name2 38\n"
        "name3 15\n";
    stringstream ss(data);
    vector<TName> vec;//наш вектор данных
    vector<TName>::iterator it;//итератор - чтото наподобе индекса массива
    TName elem;//Буфферная переменная
    while(ss>>elem.name>>elem.value)
        vec.push_back(elem);
    //Как я и говорил it что-то наподобие индекса
    for(it = vec.begin(); it < vec.end(); it++)
        cout<<(*it).name<<" "<<(*it).value<<endl;
    return 0;
}
Отработка http://liveworkspace.org/code/a54c9e40bb11b55a5814cedcc75a9ff7
0
Миниатюры
Вектор типа Класс  
05.08.2012, 12:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.08.2012, 12:28
Привет! Вот еще темы с ответами:

класс Вектор - C++
всем привет. Начинаю делать домашку :-) в классе вектор создаю метод: cVector.h class cVector { public: ...

Класс Вектор - C++
Нужна помощь в написании программы. Класс &quot;Вектор&quot;. (Чем он отличается от массива? в том что мне дали про вектора ни слова. Помогите...

Класс Вектор - C++
Помогите пожалуйста горит индевидуалка... Создать класс векторов поддерживающий следующие операции: изменение размеров вектора,сложение...

Вектор класс - C++
Всем привет!!! Вот написал программу с класами а она не правильно работеает. Пожалуйста помогоите исправить ошыбки. Сама задача:Создать...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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