Kapitel 8 - Programm 2 - VERERB2.CPP

zurück...

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
					// Kapitel 8 - Programm 2 - VERERB2.CPP
#include <iostream>

class Vehikel
{
//	protected:	// Wir haben das auskommentiert
   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;

   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;
}



		  // 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;
   Vehikel::Initialisiere(EinRaeder, EinGewicht);  // Hinzugefügte Anweisung
}



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



double Laster::Effizienz(void)
{
   // Änderung von Programm 1
   return Ladung / (Ladung + HoleGewicht());
}


// 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 Sattelschlepper wiegt 5700 kg.
// Die Effizienz des Sattelschleppers ist 72.8571 Prozent.

zurück...