1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
// Kapitel 8 - Programm 6 - VERERB6.CPP
#include <iostream>
#include <stdlib.h>
class Vehikel
{
protected:
int Raeder;
double Gewicht;
public:
void Initialisiere(int EinRaeder, double EinGewicht);
int HoleRaeder(void) {return Raeder;}
double HoleGewicht(void) {return Gewicht;}
double Radlast(void) {return Gewicht/Raeder;}
};
class Auto : public Vehikel
{
int Passagieranzahl;
public:
void Initialisiere(int EinRaeder, double EinGewicht, int Leute = 4);
int Passagiere(void) {return Passagieranzahl;}
};
class Laster : public Vehikel
{
int Passagieranzahl;
double Ladung;
public:
void InitLaster(int WieViele = 2, double MaxLadung = 10000.0);
double Effizienz(void);
int 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[3];
int Index;
for (Index = 0 ; Index < 3 ; Index++)
{
Sedan[Index].Initialisiere(4, 1600.0, 5);
std::cout << "Der Sedan fuehrt " << Sedan[Index].Passagiere() <<
" Passagiere mit sich.\n";
std::cout << "Der Sedan wiegt " <<
Sedan[Index].HoleGewicht() << " kg.\n";
std::cout << "Die Radlast des Sedan ist " <<
Sedan[Index].Radlast() <<
" kg pro Rad.\n\n";
}
Laster *Sattelschlepper;
Sattelschlepper = new Laster;
if (Sattelschlepper == NULL)
{
std::cout << "Speicherbeschaffung fehlgeschlagen\n";
exit (EXIT_FAILURE);
}
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";
delete Sattelschlepper;
return 0;
}
// Initialisiere mit den Paramtern
void Vehikel::Initialisiere(int EinRaeder, double EinGewicht)
{
Raeder = EinRaeder;
Gewicht = EinGewicht;
}
void Auto::Initialisiere(int EinRaeder, double EinGewicht, int Leute)
{
Passagieranzahl = Leute;
Raeder = EinRaeder;
Gewicht = EinGewicht;
}
void Laster::InitLaster(int WieViele, double MaxLadung)
{
Passagieranzahl = WieViele;
Ladung = MaxLadung;
}
double Laster::Effizienz(void)
{
return Ladung / (Ladung + Gewicht);
}
// Ergebnis beim Ausführen
//
// 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 Sedan fuehrt 5 Passagiere mit sich.
// Der Sedan wiegt 1600 kg.
// Die Radlast des Sedan ist 400 kg pro Rad.
//
// 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.
|
Copyright © 1997, 1998, 2001-2005 Heinz Tschabitscher - Letzte Änderung 13. September 2005
Heinz Tschabitscher - cpp@ladedu.com | Datenschutz | Impressum - Kommentare, Kritik, Anregungen, Fragen?