Mam sobie takie dwie klasy:
class Store
{
private:
double surface_area_;
std::string name_;
std::vector<Employee> employees_;
public:
Store();
friend std::istream & operator >> (std::istream &is, Store &);
};
class Employee
{
private:
std::string name_;
double salary_;
public:
Employee();
};
I teraz chciałbym sobie przeciążyć operator >>
, aby wczytać wszystkie dane z pliku .txt. Przykładowo, niech zawartość pliku będzie wyglądać tak (ilość elementów wektora nie jest z góry narzucona):
NazwaSklepu
111.11
NazwaPracownika1
2000
NazwaPracownika2
3000
Żeby wczytać pierwsze 2 zmienne to wiadomo, standard:
std::istream & operator >> (std::istream &is, Store &store)
{
is >> store.name_ >> store.surface_area_;
return is;
}
Natomiast jak tutaj zrobić wczytywanie do wektora?
W mainie wywołanie byłoby takie:
Store store;
std::ifstream fp;
fp.open("plik.txt");
fp >> store;
fp.close();