Hej, mam problem z wczytaniem danych z pliku tekstowego do kilku obiektów. Stworzyłam klasę Czapki, dziedziczącą po abstrakcyjnej klasie Ubranie. Klasa Czapki na konstruktor który jako parametr przyjmuję nazwę pliku który ma otworzyć.
Czapki::Czapki(string const& Sciezka)
{
fstream plik;
plik.open(Sciezka.c_str(), std::ios::in | std::ios::out);
if (plik.good())
{
string linia;
int nrLinii = (1 - 1) * 7 + 1;
int licznik = 1;
while (getline(plik, linia))
{
if (licznik == nrLinii)
{
kolor = linia;
}
if (licznik == nrLinii + 1)
{
opis = linia;
}
if (licznik == nrLinii + 2)
{
płeć = linia;
}
if (licznik == nrLinii + 3)
{
stringstream geek(linia);
geek >> rozmiar;
}
if (licznik == nrLinii + 4)
{
stringstream geek(linia);
geek >> id_produktu;
}
if (licznik == nrLinii + 5)
{
model = linia;
}
if (licznik == nrLinii + 6)
{
istringstream(linia) >> daszek;
}
licznik++;
plik.close();
}
}
else cout << "Nie da sie otworzyc pliku!";
}
Chciałabym teraz wczytać z pliku n obiektów, a potem je wypisać. Problem w tym że nie mam pojęcia jak sprawić żeby uruchomił się konstruktor który pokazałam, zamiast tego domyślnego.
string Sciezka;
cout << "Podaj sciezke do pliku" << endl;
cin >> Sciezka;
plik >> ilosc;
Czapki* ktab = new Czapki[ilosc];
for (int i = 0; i < ilosc; i++)
{
cout << "Czapka nr " << i + 1 << endl;
ktab[i].wypisz();
ktab[i].getNr(i);
}
Macie może jakieś pomysły? Czy to w ogóle możliwe? Z góry bardzo dziękuję za rady.