Kapitel 6 - Programm 5 - OBJLISTE.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
					 // Kapitel 6 - Programm 5 - OBJLISTE.CPP
#include <iostream>

class Box
{
   int Laenge;
   int Breite;
   Box *AndereBox;
public:
   Box(void);		  //Konstruktor
   void Setze(int NeueLaenge, int NeueBreite);
   int HoleFlaeche(void);
   void ZeigeAufNaechste(Box *ZeigeDahin);
   Box *HoleNaechste(void);
};

Box::Box(void)	    //Implementation des Konstruktors
{
   Laenge = 8;
   Breite = 8;
   AndereBox = NULL;
}

// Diese Methode setzt die Größe der Box auf die Parameter
void Box::Setze(int NeueLaenge, int NeueBreite)
{
   Laenge = NeueLaenge;
   Breite = NeueBreite;
}

// Diese Methode berechnet den Flächeninhalt der Box und gibt ihn zurück
int Box::HoleFlaeche(void)
{
   return (Laenge * Breite);
}

// Diese Methode lässt den Zeiger auf den Parameter zeigen
void Box::ZeigeAufNaechste(Box *ZeigeDahin)
{
   AndereBox = ZeigeDahin;
}

// Diese Methode gibt die Box, auf die die momentane zeigt, zurück
Box *Box::HoleNaechste(void)
{
   return AndereBox;
}

int main()
{
Box Klein, Mittel, Grosz;	     //Drei Boxen
Box *BoxZeiger;			     //Ein Zeiger auf eine Box

   Klein.Setze(5, 7);
   Grosz.Setze(15, 20);

   std::cout << "Der Flaecheninhalt der kleinen Box ist " << Klein.HoleFlaeche() << "\n";
   std::cout << "Der Flaecheninhalt der mittleren Box ist " << Mittel.HoleFlaeche() << "\n";
   std::cout << "Der Flaecheninhlat der grossen Box ist " << Grosz.HoleFlaeche() << "\n";

   Klein.ZeigeAufNaechste(&Mittel);
   Mittel.ZeigeAufNaechste(&Grosz);

   BoxZeiger = &Klein;
   BoxZeiger = BoxZeiger->HoleNaechste();
   std::cout << "Der Flaecheninhalt der Box, auf die gezeigt wird, ist " <<
					    BoxZeiger->HoleFlaeche() << "\n";

   return 0;
}


// Ergebnis beim Ausführen
//
// Der Flaecheninhalt der kleinen Box ist 35
// Der Flaecheninhalt der mittleren Box ist 64
// Der Flaecheninhalt der grossen Box ist 300
// Der Flaecheninhalt der Box, auf die gezeigt wird, ist 64

zurück...