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

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

Войти
Регистрация
Восстановить пароль
 
Nullik
43 / 12 / 1
Регистрация: 13.03.2013
Сообщений: 300
Завершенные тесты: 1
#1

Вектор с классом должен получить класс (?) - C++

11.09.2013, 22:12. Просмотров 286. Ответов 4
Метки нет (Все метки)

Добрый вечер!

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
class B {
int a;
public:
B ();
~B ();
void 
};
 
 
void B::read_file (const vector<B>& dall)
{
    B OpenFile;
    // объявление переменной
    ifstream in_file1 ("n.txt");
 
    //если файл не открылся, то
    if (!in_file1)
    {
        cout << "Не удаётся открыть файл 1\n";
    }
    else
    {
        if (!in_file1)
        {
            cout << "Не удаётся открыть файл 2\n";
        }
        // пока не конец файла
        while (!in_file1.eof())   
        {
        B OpenFile;
        in_file1 >> OpenFile.a;
        diskk_all.push_back(OpenFile);
        }
        // закрытие потока
        in_file1.close();
    }
}
 
 
 
 
void main()
{
    setlocale(0,"");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    int a,i;
    vector <B> dall; 
//вызвать функцию чтения из файла///////////////////////
 
}
И теперь мне нужно из файла засунуть неизвестное число объектов в вектор.

я сделала это так:

C++
1
2
3
B OpenFile;
    in_file1 >> OpenFile.a;
    diskk_all.push_back(OpenFile);
Но возник вопрос: а как мне вызвать функцию read?
как вектор передать?

потому что когда я вызываю функцию, то ошибка вылазит, что функция не определена, но она же есть в классе. тогда как её надо вызвать???
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2013, 22:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вектор с классом должен получить класс (?) (C++):

Наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные "длина" и "угол" - C++
кто то напишите пожалуйста, вот программа: наследуемым классом для комплексного числа объявить класс &quot;радиус-вектор&quot;, имеющий данные...

Описать абстрактный класс породить от него еще два,один должен остаться абстрактным,другой должен быть способен пораждать объекты - C++
Знает кто как сделать?

Проблема с классом Вектор - C++
Здравствуйте! Не могу понять почему вместо значений вектора выводиться непонятные числа. Вот код: #include &lt;vector&gt; #include...

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

Работа с классом и объектом Вектор - C++
Являюсь студентом,и по долгу учебы приступил к обучению премудростям &quot;оСей с двумя плюсами&quot;. И обломался. получил задание на...

Создайте класс, в котором есть ostream& operator<<. Класс должен содержать очередь с приоритетом - C++
Создайте класс, в котором есть ostream&amp; operator&lt;&lt;. Класс должен содержать очередь с приоритетом. Создайте генератор — заполнитель очереди...

4
coloc
погромист
410 / 246 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
11.09.2013, 22:23 #2
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
#include <iostream>
#include <windows.h>
#include <cstdlib>
#include <vector>
#include <fstream>
 
using namespace std;
 
class B {
int a;
public:
B ();
~B ();
void read_file(vector<B>& dall);
};
 
B::B() {}
 
B::~B() {}
 
void B::read_file (vector<B>& diskk_all)
{
    B OpenFile;
    // îáúÿâëåГ*ГЁГҐ ïåðåìåГ*Г*îé
    ifstream in_file1 ("n.txt");
 
    //åñëè ГґГ*éë Г*ГҐ îòêðûëñÿ, ГІГ®
    if (!in_file1)
    {
        cout << "ГЌГҐ ГіГ¤Г*ВёГІГ±Гї îòêðûòü ГґГ*éë 1\n";
    }
    else
    {
        if (!in_file1)
        {
            cout << "ГЌГҐ ГіГ¤Г*ВёГІГ±Гї îòêðûòü ГґГ*éë 2\n";
        }
        // ïîêГ* Г*ГҐ ГЄГ®Г*ГҐГ¶ ГґГ*éëГ*
        while (!in_file1.eof())   
        {
        B OpenFile;
        in_file1 >> OpenFile.a;
        diskk_all.push_back(OpenFile);
        }
        // Г§Г*êðûòèå ïîòîêГ*
        in_file1.close();
    }
}
 
 
 
 
int main()
{
    setlocale(0,"");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    int a,i;
    vector <B> dall; 
    dall.push_back(B());
    dall[0].read_file(dall);
//âûçâГ*ГІГј ГґГіГ*êöèþ Г·ГІГҐГ*ГЁГї ГЁГ§ ГґГ*éëГ*///////////////////////
 
}
1
Nullik
43 / 12 / 1
Регистрация: 13.03.2013
Сообщений: 300
Завершенные тесты: 1
12.09.2013, 08:27  [ТС] #3
Сoloc, спасибо вам большое!!! Счас, ТЗ доделаю товарищам, буду разбираться с вашим кодом. Спасибо!!!)))))

Добавлено через 9 часов 34 минуты
Сделала, получилось, но возникла проблема со считыванием, хотя нет там "cin >>", теперь они с get, есть "cout <<" с "\n", как тут быть?



C++
1
getline(in_file1, OpenFile.nnnn);
у меня такое считывание с файла, потому что nnnn -- это string, там должны быть пробелы.
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.09.2013, 08:51 #4
Nullik, у вас зачем два раза одно и то же?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
ifstream in_file1 ("n.txt");
 
    //если файл не открылся, то
    if (!in_file1)
    {
        cout << "Не удаётся открыть файл 1\n";
    }
    else
    {
        if (!in_file1)
        {
            cout << "Не удаётся открыть файл 2\n";
        }
...
0
Nullik
43 / 12 / 1
Регистрация: 13.03.2013
Сообщений: 300
Завершенные тесты: 1
12.09.2013, 10:17  [ТС] #5
да это ошибка, это надо подправить.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2013, 10:17
Привет! Вот еще темы с ответами:

Есть квадратная матрица А порядка n и вектор b с n элементами. Получить вектор Аb. - C++
Привет. Не могу разобратся, вот задание: Есть квадратная матрица А порядка n и вектор b с n элементами. Получить вектор Аb.

Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени? - C++
На самом деле ничё фантастического я не прошу, ведь: template &lt;class T&gt; class matrix { friend class diagonal; ...

Какой должен быть итератор для константной ссылки на вектор? - C++
Есть вектор, он передается в функцию так: #include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; void func(vector&lt;int&gt; arg)...

Сделать пользовательский класс QueueWithPriority шаблонным классом - C++
программа работает с определенным типом данных, сказали сделать чтобы можно было работать с любым, а я не совсем понимаю как расставить...


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

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

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