Skip to content

Latest commit

 

History

History
10 lines (10 loc) · 1022 Bytes

README.md

File metadata and controls

10 lines (10 loc) · 1022 Bytes
  1. Zdefiniuj prawidłową abstrakcję (interfejsy)
  2. Zastosuj dziedziczenie
  3. Napraw enkapsulację (hermetyzację)
  4. Napraw problem diamentowy
  5. W main.cpp użyj polimorfizmu, aby za pomocą jednego obiektu można było reprezentować każdy samochód
  6. Napisz wyjątek InvalidGear, który będzie rzucany gdy ktoś spróbuje zmienić bieg na wsteczny przy jeździe do przodu lub gdy ktoś spróbuje wrzucić 6 bieg, a samochód posiada ich 5. Wybierz odpowiedni wyjątek z biblioteki standardowej jako klasę bazową. Gdzie ten wyjątek powinien być złapany?
  7. Zastanów się w jaki sposób obiekty klasy PetrolEngine lub ElectricEngine powinny być trzymane w klasach Car i/lub pochodnych - wartość, referencja, wskaźnik?
  8. Napraw wycieki pamięci
  9. Popraw interfejsy według własnego uznania, aby były jak najmniej podatne na niewłaście użycie (np. accelerate(-999); )
  10. Dodaj nowe klasy wyjątków, które będą rzucane w innych nietypowych sytuacjach. Spróbuj przewidzieć te nietypowe sytuacje.