Всем доброго времени суток.
У меня есть два класса (для краткости все методы класса я сюда не кидал, т.к. не несут информационной нагрузки):
class Checklist
{
public:
friend ostream& operator<<(ostream& stream, Checklist& obj);
friend istream& operator>>(istream& stream, Checklist& obj);
private:
string position;
double percent;
};
В этом классе функции вставки и извлечения перегружены так:
ostream& operator<<(ostream& stream, Checklist& obj) {
stream<<obj.position<<'\n'<<obj.percent;
return stream;
}
istream& operator>>(istream& stream, Checklist& obj) {
stream>>obj.position;
stream>>obj.percent;
return stream;
}
Есть второй класс. В нем вектор из элементов первого класса:
class Employee
{
public:
friend ostream& operator<<(ostream& stream, Employee& obj);
private:
int number;
string surname;
string firstname;
string post;
double avPercent;
vector <Checklist> checklists;
};
В этом классе функция вставки перегружена так:
ostream& operator<<(ostream& stream, Employee& obj) {
stream<<obj.number<<'\n'<<obj.surname<<'\n';
stream<<obj.firstname<<'\n'<<obj.post<<'\n';
stream<<obj.avPercent<<'\n';
int checklistCount=obj.checklists.size();
if(checklistCount>0)
for(int i=0; i<checklistCount; i++)
stream<<obj.checklists[i]<<'\n';
stream<<'\n';
return stream;
}
В функции main есть вектор из элементов класса Employee. Он там заполняется и сохраняется в файл (см. в аттаче).
В общем, вопрос вот в чем. Как мне потом из этого файла правильно заполнить вектор из объектов класса Employee. Надо сначала как-то узнать сколько записей в файле (каждая новая запись разделена пустой строкой). И еще требуется правильно заполнить вектор элементов класса Checklist.
Надеюсь вопрос понятен. Подскажите как решить проблему.
Спасибо