Witam, mam taki problem, chciałbym utworzyć obiekty jednej klasy przekazując do konstruktora strumień ifstream, co prawda udało mi się utworzyć jeden, ale tylko jeden objekt a chciałem utworzyć tyle obiektów ile jest danych w pliku czyli dopóki nie nastąpi koniec pliku.Napisałem to tak, konstruktor tworzący docelowy obiekt:
Potrawa::Potrawa(ifstream &i)
{
CzyGotowa=0;
getline(i, Nazwa);
i>>Cena;
}
Menu::Menu(std::ifstream &i)
{
while(! i.eof() )
{
Potrawa *potrawa=new Potrawa(i);
Potrawy.push_back(potrawa);
}
}
int main()
{
ifstream plik("potrawy.txt");
Menu menu(plik); ...
Pomijam tymczasowo sprawdzanie czy plik otworzono bo raczej to nie jest problem(?).
Program się zawiesza ale nie wyłącza, nie wyskakują też żadne poważne błędy, mam nadzieje że ktoś wie co odwaliłem.