Egy utazási iroda számára készülő nyilvántartó program útvonalak átlagos idejét becsüli meg. Háromféle útvonaltípus (Route) létezik: Vízi út (ShipRoute), szárazföldi út (LandRoute) és légi út (AirRoute). Az egyes konstansok az átlagsebességre: averageShipRoute=60 km/h, averageLandRoute=75 km/h, averageAirRoute=900km/h. Programunk egy tömbben tartja nyilván az útvonalakat. A célunk kiszámolni és kiírni az egyes utak időtartamának átlagértékét (getDuration()), ha az útvonalak hosszát az objektum létrehozásakor megadják. Használja fel a dőlt betűs osztály-, függvény- és változóneveket! Ne legyen egy függvénytörzsben sem felesleges, nem használt kód! Tervezze meg és vázolja fel az osztályok öröklési hierarchiáját! Az osztályok téglalapjaiban tüntesse fel az összeget lekérdező függvény (getDuration) deklarációját és láthatóságát! Ügyeljen az elegáns OO megoldásokra! Implementálja a névteret (WorldRoutes), az osztályokat és konstansokat, figyelve arra, hogy esetlegesen egyes konstansokat is tagváltozókként érdemes implementálni. Egy új útvonal-típus esetleges felvételéhez ne kelljen a már meglévő osztályokat módosítani! Írjon egy egyszerű programrészletet nem dinamikus tömbbel, ami megmutatja a három különböző típusú útvonal felvételét, valamint kiírja az átlagos idejüket.