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

Вывод вектора - C++

Восстановить пароль Регистрация
 
Beleaf
9 / 9 / 3
Регистрация: 14.04.2010
Сообщений: 99
04.04.2011, 19:21     Вывод вектора #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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include <iostream>
#include <vector>
 
using namespace std;
 
int i = 0;
 
class Book
{
protected:
    char *Title;
    char *Author;
    char *Publisher;
    short PubYear;
    char *Category;
    short Pages;
    short Price;
public:
    Book();
    void Input();
    ~Book() {}
};
 
void Book::Input()
{
    cout << "Title: ";
    cin >> Title;
    cout << "Author: ";
    cin >> Publisher;
    cout << "PubYear: ";
    cin >> PubYear;
    cout << "Category: ";
    cin >> Category;
    cout << "Pages: ";
    cin >> Pages;
    cout << "Price: ";
    cin >> Price;
}
 
Book::Book()
{
    Title = new char;
    Author = new char;
    Publisher = new char;
    PubYear = 0;
    Category = new char;
    Pages = 0;
    Price = 0;
}
 
class Base:public Book
{
protected:
    vector <Book> Arr;
public:
    Base();
    ~Base() {}
    void Registration(Book NewBook);
    void Show();
};
 
Base::Base()
{
    Arr.reserve(5);
}
 
void Base::Registration(Book NewBook)
{
    Arr.push_back(NewBook);
}
 
void Base::Show()
{
    vector <Book>::iterator it;
    for (it=Arr.begin(); it<Arr.end(); it++)
    {
        cout << Arr.at(i);
        i++;
    }
}
 
int main()
{
    Base books[5];
    for (i=0; i<5; i++)
    {
        books[i].Registration(books[i]);
        books[i].Show();
    }
    system("PAUSE");
    return 0;
}
Подскажите как правильно реализовать метод Base::Show();

Заранее благодарю
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2011, 19:21     Вывод вектора
Посмотрите здесь:

Ввод и вывод вектора C++
C++ вывод вектора
C++ Вывод в файл вектора объектов
C++ Вывод вектора ax+b
C++ Вывод вектора
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.04.2011, 19:27     Вывод вектора #2
Beleaf, Перегрузить оператор вывода для класса Book.
Beleaf
9 / 9 / 3
Регистрация: 14.04.2010
Сообщений: 99
04.04.2011, 20:50  [ТС]     Вывод вектора #3
Цитата Сообщение от ForEveR Посмотреть сообщение
Beleaf, Перегрузить оператор вывода для класса Book.
Ух уж я, заучился совсем) Спасибо большое
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
04.04.2011, 21:10     Вывод вектора #4
1)
C++
1
2
3
4
5
6
7
8
9
10
Book::Book()
{
        Title = new char;
        Author = new char;
        Publisher = new char;
        PubYear = 0;
        Category = new char;
        Pages = 0;
        Price = 0;
}
Память здесь выделена только под один символ.
2)
C++
1
void Registration(Book NewBook);
Вот так
C++
1
void Registration(const Book& NewBook);
3) Память выделенная в конструкторе нигде не освобождается.
4) Нет конструктора копий и оператора присваивания.
5) В чём тайный смысл использования глобальной переменной(i)?
Yandex
Объявления
04.04.2011, 21:10     Вывод вектора
Ответ Создать тему
Опции темы

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