1 / 1 / 0
Регистрация: 02.05.2015
Сообщений: 105
1

Считывание из файла значений в переменные объекта класса

01.06.2018, 18:10. Показов 1194. Ответов 3
Метки нет (Все метки)

Предположим, что есть некий класс
C++
1
2
3
4
5
6
7
8
9
const int n=10;
 
class Example
{
private:
int id,number;
public:
int getnumber(){return number;}
}example[n];
Как реализовать метод класса или конструктор, который присваивает значения из файла объектам массива 'example' и при этом сам увеличивает количество объектов, которые входят в example?

То есть, изначально кол-во объектов 0, как только считалось n - стало n объектов в 'example'
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2018, 18:10
Ответы с готовыми решениями:

Считывание байтов из объекта класса FileStream
Принцип действия программы: в командной строке пишем ShowFile TEST.CS - получаем содержимое файла...

Локальные переменные или прямое обращение к get-объекта класса?
Собственно, что лучше? Создавать локальные переменные и хранить там значения, полученные из...

Считывание из бинарного файла и запись данных в две строковых переменные
Мне нужно считать две строки из бинарного файла "input.txt" и запихать их в переменные типа string....

Задание начальных значений объекта класса конструктором
здравствуйте, форумчане. подскажите, пожалуйта, можно ли реализовать следующее: нужно создать...

3
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
01.06.2018, 18:20 2
А содержание файлов можно?
Цитата Сообщение от magdake Посмотреть сообщение
сам увеличивает количество объектов
Используйте не массив, а вектор
0
1 / 1 / 0
Регистрация: 02.05.2015
Сообщений: 105
01.06.2018, 18:27  [ТС] 3
Просто построчное считывание
например такое содержание файла:
0
13
1
27
2
40
3
21
4
19
0
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
01.06.2018, 18:39 4
Лучший ответ Сообщение было отмечено magdake как решение

Решение

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
#include <iostream>
#include <conio.h>
#include <fstream>
#include <vector>
#include <string>
 
using namespace std;
 
int end(int ret = 0){cout << "\nEND\n"; _getch(); return ret;}
 
template <typename T>
ostream& operator<<(ostream& out, vector<T>& vT)
{
    for(int i = 0; i < vT.size(); i++)
        out << vT[i] << ' ';
    return out;
}
 
class Example
{
private:
    int id, number;
public:
    int getnumber() { return number; }
    friend ifstream& operator>>(ifstream& fin, Example& ex);
    friend ostream& operator<<(ostream& out, Example& ex);
};
 
ifstream& operator>>(ifstream& fin, Example& ex)
{
    fin >> ex.id;
    fin >> ex.number;
    return fin;
}
 
ostream& operator<<(ostream& out, Example& ex)
{
    out << "ID: " << ex.id << endl
         << "Number: " << ex.number << endl;
    return out;
}
 
int main()
{
    
    vector<Example> ve;
    ifstream fin("input.txt");
    while(fin)
    {
        ve.push_back(Example());
        fin >> ve.back();
    }
    ve.pop_back();
 
    cout << ve;
    return end();
}
Добавлено через 2 минуты
Можешь посмотреть пример более сложной структуры здесь
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.06.2018, 18:39
Помогаю со студенческими работами здесь

Считывание из файла в объект класса
Класс: class Student { private: string otdelenie; string name; string lastname; string...

Считывание из файла в объект класса
У меня есть файл, в котором хранится информация объектов класса, если я хочу считать эту...

Считывание значений из файла
Программа-пример. В файле указаны числа от 1 до 10 в убывающем порядке. Выдает Text.txt: linker...

Запись и считывание объектов класса в/из файла
Здравствуйте! Помогите, пожалуйста, разобраться с проблемой. Нужно записать объект класса в файл и...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru