Dany jest fragment kodu:

int main(void){

std::cout << "LABORATORIUM - DZIEDZICZENIE, FUNKCJE WIRTUALNE, INTERFEJSY" << std::endl << std::endl;

Pociag pociag("Slowacki");

Spalinowoz s1("Lyd1", 30, 18, 1000); //nazwa, predkosc maksymalna, masa, zapas paliwa

Elektrowoz e1("ET22", 125, 120, 6); //nazwa, predkosc maksymalna, masa, ilosc silnikow
WagonTowarowy t1(125, 100, 50); //predkoscMaksymalna, masa, ladownosc

pociag += e1;
pociag += t1;

std::cout << pociag;

pociag += s1;
t1.zaladuj(10);

std::cout << pociag;
t1.zaladuj(100);

std::cout << pociag;

return 0;
}

Zadanie polega na uzupełnieniu dodając następujące funkcjonalności:
1. Należy dopisać brakujące klasy.
2. Doprowadzić do kompilowania się powyższezgo kodu
3. Zapewnić prawidłowe tworzenie i niszczenie obiektów
4. Program powinien wypisać na ekran poniższy tekst:

LABORATORIUM - DZIEDZICZENIE, FUNKCJE WIRTUALNE, INTERFEJSY

Pociag: Slowacki
Masa calkowita pociagu : 220ton
Predkosc maksymalna pociagu : 125km/h


Pociag: Slowacki
Masa calkowita pociagu : 248ton
Predkosc maksymalna pociagu : 30km/h


Pociag: Slowacki
Masa calkowita pociagu : 288ton
Predkosc maksymalna pociagu : 30km/h