Tässä harjoituksessa opiskellaan vahvaa koostetta(kompositiota) ja UML-luokkakaavion tulkintaa. Harjoituksessa Car-luokan olio luo Engine-luokan olion ja neljä Wheel-luokan oliota. Car-luokka on siis koosteluokka.
Miksi tässä käytetään koostetta eikä perintää?
HUOM!: Luo kullekin luokalle erillinen h-tiedosto ja cpp-tiedosto.
Katso video Kooste
Tässä tehtävässä tarkoituksena on mallintaa yksinkertainen auton rakenne C++:ssa käyttämällä kompositiota.
Sinun tulee luoda luokat Engine
, Wheel
ja Car
, ja yhdistää nämä osat luokkaan
Car
komposition avulla.
Engine
toteutus:
Engine
, joka sisältää seuraavat ominaisuudet:int horsepower
: moottorin hevosvoimat.double displacement
: moottorin tilavuus litroissa.Wheel
toteutus:
Wheel
, joka sisältää seuraavat ominaisuudet:int size
: renkaan koko (esim. tuumina).string type
: renkaan tyyppi (esim. "kesärengas" tai "talvirengas").Car
toteutus:
Car
, joka koostuu seuraavista osista:Engine
-olio.Wheel
-oliota.string model
: auton malli.string brand
: auton merkki.void printDetails()
, joka tulostaa auton tiedot, mukaan lukien moottorin ja renkaiden tiedot (katso mallia esimerkkitulosteesta alla).