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

Как вывести элементы вектора, являющиеся членами класса? - C++

Восстановить пароль Регистрация
 
Ленив
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 7
02.07.2015, 12:03     Как вывести элементы вектора, являющиеся членами класса? #1
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 <iostream>
#include <vector>
#include <cstdio>
using namespace std;
 
    typedef struct moment{
        int h,m,s;
    }moment;
 
    int main()
    {
        freopen("input.txt","r",stdin);
        freopen("output.txt","w",stdout);
        int n,x,hh,mm,ss;
 
        cin>>n;
        vector<moment> v(10);
        for(int i=0;i<n;i++){
                cin>>hh>>mm>>ss;
            moment q;
            q.h=hh;
            q.m=mm;
            q.s=ss;
            v[i]=q;
        }
        for(int i=0;i<n;i++){
                cout<<v[i];
        }
 
    return 0;
}
Я не понимаю почему не работает.
В 27 строке что-то .
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2015, 12:03     Как вывести элементы вектора, являющиеся членами класса?
Посмотрите здесь:

Шаблон класса вектор с двумя членами-данными C++
Объявление класса с открытыми членами. C++
C++ Как вывести элементы вектора, тип которых pair<string>?
Ошибка с статическими членами класса C++
C++ Как создать элемент вектора пользовательского типа(класса)?
C++ Вывести элементы вектора, вывести их адрес
Вывести элементы массива являющиеся квадратами четных чисел C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12271 / 6958 / 782
Регистрация: 27.09.2012
Сообщений: 17,259
Записей в блоге: 2
Завершенные тесты: 1
02.07.2015, 12:04     Как вывести элементы вектора, являющиеся членами класса? #2
Цитата Сообщение от Ленив Посмотреть сообщение
Я не понимаю почему не работает.
C++
1
cout<<v[i];
откуда "он знает", как "выводить" объект класса moment?
Ленив
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 7
02.07.2015, 12:07  [ТС]     Как вывести элементы вектора, являющиеся членами класса? #3
А как ему сказать о том как выводить ?
ThePlague
 Аватар для ThePlague
95 / 95 / 59
Регистрация: 30.06.2015
Сообщений: 262
02.07.2015, 12:11     Как вывести элементы вектора, являющиеся членами класса? #4
Ну самый простой способ это поэлементно:

C++
1
2
3
cout<<v[i].h << endl;
cout<<v[i].m << endl;
cout<<v[i].s << endl;
Ленив
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 7
02.07.2015, 13:57  [ТС]     Как вывести элементы вектора, являющиеся членами класса? #5
спасибо я заменил вывод теперь работает
Renji
1610 / 1058 / 259
Регистрация: 05.06.2014
Сообщений: 3,146
02.07.2015, 19:09     Как вывести элементы вектора, являющиеся членами класса? #6
Цитата Сообщение от Ленив Посмотреть сообщение
А как ему сказать о том как выводить ?
C++
1
2
3
4
5
ostream&operator<<(ostream&stream,const moment&value)
{
    stream<<value.n<<" "<<value.m<<" "<<value.s<<endl;
    return stream;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2015, 19:28     Как вывести элементы вектора, являющиеся членами класса?
Еще ссылки по теме:

C++ Почему перегруженные операторы ввода/вывода нельзя сделать членами класса?
C++ Вывести все элементы, являющиеся максимальными в своем столбце и одновременно минимальными в своей строке
Отсортировать по возрастанию и вывести на экран сперва чётные элементы вектора, а затем нечётные C++
Вывести все элементы массива, являющиеся простыми числами C++
C++ Определить, являются ли элементы массива членами арифметической прогрессии

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

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
02.07.2015, 19:28     Как вывести элементы вектора, являющиеся членами класса? #7
Renji, endl всё же не стоит добавлять в перегруженный оператор.
Yandex
Объявления
02.07.2015, 19:28     Как вывести элементы вектора, являющиеся членами класса?
Ответ Создать тему
Опции темы

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