Witam. Zrobiłem zadanie domowe z pierwszego odcinka obiektowego c++ z kanału "pasja informatyki". Chciałem ulepszyć program o tworzenie więcej obiektów niż dwa. W tym celu postanowiłem stworzyć pętlę, która pomogłaby tworzyć dowolną ilość obiektów. Natomiast program po stworzeniu pętli pobiera tylko dwie zmienne i kończy pracę. Gdy program był napisany w wersji nie obiektowej, pętla działała bez problemu. Natomiast po zmianie kodu na obiektowy występuje ten problem.
kod pliku: main.cpp
#include <iostream>
#include "samochod.h"
using namespace std;
int main()
{
int i=1;
while(i<=5){
Samochod s[i];
s[i].wczytaj();
cout<<endl;
s[i].wypisz();
cout<<endl;
i++;
}
if(i==6){
cout<<"Baza danych samochodow tymczosowo jest pelna!";
}
return 0;
}
kod pliku: samochod.cpp
#include <iostream>
#include "samochod.h"
using namespace std;
void Samochod::wczytaj()
{
cout<<"Podaj marke samochodu:";
cin>>marka;
cout<<"Model samochodu:";
cin>>model;
cout<<"Rocznik:";
cin>>rocznik;
cout<<"Przebieg:";
cin>>przebieg;
}
void Samochod::wypisz()
{
cout<<"Marka:"<<marka<<endl;
cout<<"Model:"<<model<<endl;
cout<<"Rocznik:"<<rocznik<<endl;
cout<<"Przebieg:"<<przebieg<<endl;
}
kod pliku: samochod.h
#include <iostream>
using namespace std;
class Samochod
{
public:
string marka;
string model;
int rocznik;
int przebieg;
public:
void wczytaj();
void wypisz();
void sprawdz();
};

Nie rozumiem jaki błąd popełniam i na co zwrócić większą uwagę.