#include <iostream>

class Vehikel
{
protected:
   int Raeder;
   float Gewicht;
public:
   void Initialisiere(int EinRaeder, float EinGewicht);
   int HoleRaeder(void);
   float HoleGewicht(void);
   float Radlast(void);
};

class Auto : public Vehikel
{
   int Passagieranzahl;
public:
   void Initialisiere(int EinRaeder, float EinGewicht, int Leute = 4);
   int Passagiere(void);
};

class Laster : public Vehikel
{
   int Passagieranzahl;
   float Ladung;
public:
   void InitLaster(int WieViele = 2, float MaxLadung = 10000.0);
   float Effizienz(void);
   int Passagiere(void);
};

void Laster::InitLaster(int WieViele, float MaxLadung)
{
   Passagieranzahl = WieViele;
   Ladung = MaxLadung;
}

float Laster::Effizienz(void)
{
   return Ladung / (Ladung + Gewicht);
}

int Laster::Passagiere(void)
{
   return Passagieranzahl;
}


void Vehikel::Initialisiere(int EinRaeder, float EinGewicht)
{
   Raeder = EinRaeder;
   Gewicht = EinGewicht;
}


int Vehikel::HoleRaeder()
{
   return Raeder;
}

float Vehikel::HoleGewicht()
{
   return Gewicht;
}


float Vehikel::Radlast()
{
   return Gewicht/Raeder;
}

void Auto::Initialisiere(int EinRaeder, float EinGewicht, int Leute)
{
   Passagieranzahl = Leute;
   Raeder = EinRaeder;
   Gewicht = EinGewicht;
}

int Auto::Passagiere(void)
{
   return Passagieranzahl;
}

int main()
{
Vehikel Hochrad;

   Hochrad.Initialisiere(1, 5.7);
   std::cout << "Das Hochrad hat " <<
  Hochrad.HoleRaeder() << " Rad.\n";
   std::cout << "Die Radlast des Hochrades betraegt " <<
   Hochrad.Radlast() << " kg auf dem einzigen Rad.\n";
   std::cout << "Das Hochrad wiegt " <<
     Hochrad.HoleGewicht() << " kg.\n\n";

Auto Sedan;

   Sedan.Initialisiere(4, 1600.0, 5);
   std::cout << "Der Sedan fuehrt " << Sedan.Passagiere() <<
" Passagiere mit sich.\n";
   std::cout << "Der Sedan wiegt " << Sedan.HoleGewicht() << " kg.\n";
   std::cout << "Die Radlast des Sedan ist " <<
  Sedan.Radlast() << " kg pro Rad.\n\n";

Laster Sattelschlepper;

   Sattelschlepper.Initialisiere(18, 5700.0);
   Sattelschlepper.InitLaster(1, 15300.0);
   std::cout << "Der Sattelschlepper wiegt " << Sattelschlepper.HoleGewicht() << " kg.\n";
   std::cout << "Die Effizienz des Sattelschleppers ist " <<
  100.0 * Sattelschlepper.Effizienz() << " Prozent.\n";

   return 0;


// Das Hochrad hat 1 Rad.
// Die Radlast des Hochrades betraegt 5.7 kg auf den einzigen Rad.
// Das Hochrad wiegt 5.7 kg.
//
// Der Sedan fuehrt 5 Passagiere mit sich.
// Der Sedan wiegt 1600 kg.
// Die Radlast des Sedan ist 400 kg pro Rad.
//
// Der Sattelschlepper wiegt 5700 kg.
// Die Effizienz des Sattelschleppers ist 72.8571 Prozent.

}