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

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

Войти
Регистрация
Восстановить пароль
 
kvartira
0 / 0 / 0
Регистрация: 29.09.2011
Сообщений: 20
#1

Вывод вектора на экран (классы) - C++

14.01.2013, 03:55. Просмотров 768. Ответов 4
Метки нет (Все метки)

Доброй ночи.
Вкратце: есть класс банк и есть класс группа банков (который состоит из множества банков).
Хочу сделать так , что б можно было в вектор добавлять банки и что б можно было напечатать этот вектор.
набросал чутка код программы.
Кликните здесь для просмотра всего текста
test.cpp
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
#include "bank.h"
#include <iostream>
#include <vector>
using namespace std;
 
int main()
{
   bank nstu;
   group_bank nntu;
       cout << "\nENTER family,name,suname:\n";
   cin >> nstu;
    cout<<"\nMENU enter\n";
       while(1)
    {
     unsigned int key;
        if(key==4)
        break;
       cout<<"3.addбанк\n4.exit\n";
           cin>>key;
      switch (key)
     {   case 2:
        cout<<"add"<<nntu.addbank()<<"\n"<<endl;
         case 3:
         cout<<nstu;
         //case 4 - вывод вектора на экран.
          break;
       }
    }
   return 0;
}
bank.cpp
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <vector>
#include "bank.h"
 
bank::bank()
    : family(),name(),suname()
{
 
}
group_bank::group_bank()
      :name_group_bank()
      {
 
      }
std::ostream& operator<< (std::ostream& os, const bank& vklad)
{
   os <<vklad.family<<' '<<vklad.name<<' '<<vklad.suname;
   return os;
}
 
std::istream& operator>> (std::istream& is, bank& vklad)
{
is >>vklad.family>>vklad.name>>vklad.suname;
   return is;
}
 
 std::ostream& operator<< (std::ostream& os, const group_bank& vklad)
{
   os <<vklad.name_group_bank ;
   return os;
}
std::istream& operator>> (std::istream& is, group_bank& vklad)
{
is >>vklad.name_group_bank ;
   return is;
}
bank::~bank()
{
 
}
bank::bank(const bank& copy)
    :family(copy.family),name(copy.name),suname(copy.suname)
{
 
}
bank& bank::operator=(const bank& equals)
{
    family=equals.family;
    name=equals.name;
    suname=equals.suname;
    return *this;
}
bank.h
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef bank_h
#define bank_h
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class bank
{
public:
bank();
~bank();
bank(const bank& copy);
bank& operator=(const bank& equals);
   //вывод объектов в поток
   friend std::ostream& operator<< (std::ostream& os, const bank& stol);
   //чтение объектов из потока
   friend std::istream& operator>> (std::istream& is, bank& stol);
private:
   string family;
   string name;
   string suname;
 
};
 
class group_bank
{
public:
 
 void addbank(bank const& vklad) {
      vklads.push_back(vklad);    }    //функция добавления банка (работает ли? проверить не смог , т.к не додумался , как сделать печать этого вектора )
        vector<bank> vklads;
group_bank();
void show_v(); //тупик
group_bank(const group_bank& copy);
group_bank& operator=(const group_bank& equals);
   //вывод объектов в поток
   friend std::ostream& operator<< (std::ostream& os, const group_bank& stol);
   //чтение объектов из потока
   friend std::istream& operator>> (std::istream& is, group_bank& stol);
private:
     string name_group_bank;
 
};
 
#endif
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2013, 03:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод вектора на экран (классы) (C++):

Вывод вектора на экран - C++
#include &quot;stdafx.h&quot; #include &lt;fstream&gt; #include &lt;iostream&gt; #include &lt;ostream&gt; #include &lt;vector&gt; #include &lt;string&gt; using...

Вывод содержимого вектора на экран - C++
Добрый день ! Есть задача : Объявите вектор a_vec с элементами целого типа и заполните его произвольными значениями.Предположим,что...

Вывод значений вектора на экран - C++
есть правильно заполненный вектор: vector&lt;Employee*&gt; emp; один из экземпляров: Bytime bt1(&quot;Ahmed&quot;, 2, 6.0); необходимо...

Полиморфизм, классы, вектора - C++
Доброго времени суток! В общем приведу некоторую структуру взаимодействия классов и методов в том виде, в котором я бы хотел, чтобы...

Создать классы матрицы и вектора - C++
Создать два класса вектор (int *) и матрица (int **) . Определить конструкторы по умолчанию,с параметром,для класса матрица с двумя...

Вывод вектора ax+b - C++
Программа решает систему методом зейделя, помогите пожалуйста в завершающей точке вывести вектор ах-б :) //#include &quot;stdafx.h&quot; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
vxg
Модератор
3163 / 1966 / 221
Регистрация: 13.01.2012
Сообщений: 7,525
14.01.2013, 12:06 #2
и в чем проблема? для банка есть оператор <<. вектор выводим как
C++
1
2
for (int i = 0; i < vklads.size(); i++)
    os << vklads[i] << std::endl;
1
lemegeton
2924 / 1353 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
14.01.2013, 13:35 #3
Вариант.
C++
1
std::copy(vklads.begin(), vklads.end(), std::ostream_iterator<bank>(std::cout, "\n"));
2
kvartira
0 / 0 / 0
Регистрация: 29.09.2011
Сообщений: 20
14.01.2013, 15:38  [ТС] #4
lemegeton , vxg Спасибо за ответы.
Цитата Сообщение от vxg Посмотреть сообщение
и в чем проблема? для банка есть оператор <<. вектор выводим как
C++
1
2
for (int i = 0; i < vklads.size(); i++)
    os << vklads[i] << std::endl;
Пытался я так сделать , однако не скомпилировалось из-за ошибки bank.cpp error: 'vklads' was not declared in this scope
Могли бы вы вставить эти строчки в код , туда , куда надо.
0
vxg
Модератор
3163 / 1966 / 221
Регистрация: 13.01.2012
Сообщений: 7,525
14.01.2013, 17:00 #5
она должна быть в void show_v(). однако... где же vklads? где он у вас определен?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2013, 17:00
Привет! Вот еще темы с ответами:

Вывод вектора - C++
#include &lt;iostream&gt; #include &quot;conio.h&quot; #include &lt;vector&gt; struct train { int in, out; }tr;

Вывод вектора - C++
Почему я не могу вывести вектор на печать? #include&lt;std_lib_facilities.h&gt; class Token { public: char ch; double var; ...

Вывод вектора - C++
#include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; int i = 0; class Book { protected:

С++ вывод вектора в строчку - C++
Забыл как вектор вывести в строчку)) time_t t; srand((unsigned int )time(&amp;t));// инициализация генератора псевдослучайных чисел ...


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

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

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