Есть класс Students.
class Students{
public:
void save();
void load();
~Students();
//Конструктор класса Students
Students(string firstname, string lastname);
//Установка имени
void set_firstname(string);
//Получение имени
string get_firstname();
//Установка фамилии
void set_lastname(string);
//Получение фамилии
string get_lastname();
private:
//Имя
string firstname;
//Фамилия
string lastname;
};
Сам конструктор:
Students::Students(string firstname, string lastname)
{
Students::set_firstname(firstname);
Students::set_lastname(lastname);
}
С сохранением вроде разобрался:
void Students::save() {
ofstream fout("Students.dat", ios::binary | ios::out);
string firstname = Students::get_firstname();
string lastname = Students::get_lastname();
fout.write((char*)&lastname, sizeof(firstname));
fout.write((char*)&lastname, sizeof(lastname));
fout << std::endl;
fout.close();
}
Но с загрузкой возникли проблемы. Сама форма обращается к Main.cpp, логика в этом файле Там я обращаюсь уже к Students.h.
Задача стоит такая: Нужно загрузить список студентов (из бинарного файла) Изменить любого студента и сохранить его в тот же файл. Как я понял нужно загружать в файл массив Students, далее после редактирования какого либо элемента массива - возвращать новый массив и записывать в файл.
Сам вопрос заключается в том, как это сделать через классы, конструкторы и декструктор? Как грамотно это реализовать?
Описание конструкторов и функции класса находятся в файле Students.cpp. Логика программы в Main.cpp