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

class Box
{
   int Laenge;
   int Breite;
public:
   void Setze(int L, int B) {Laenge = L; Breite = B;}
   int HoleFlaeche(void) {return Laenge * Breite;}
   friend Box operator+(Box A, Box B);  // Addiere zwei Boxen
   friend Box operator+(int A, Box B);  // Addiere eine Konstante zu einer Box
   friend Box operator*(int A, Box B);  // Multipliziere eine Box mit einer Konstanten
};

Box operator+(Box A, Box B)	// Addiere die Breite von zwei Boxen
{
Box Temp;
   Temp.Laenge = A.Laenge;
   Temp.Breite = A.Breite + B.Breite;
   return Temp;
}

Box operator+(int A, Box B)	// Addiere eine Konstante zur Breite einer Box
{
Box Temp;
   Temp.Laenge = B.Laenge;
   Temp.Breite = A + B.Breite;
   return Temp;
}

Box operator*(int A, Box B)	// Multipliziere eine Box mit einer Konstanten
{
Box Temp;
   Temp.Laenge = A * B.Laenge;
   Temp.Breite = A * B.Breite;
   return Temp;
}

int main()
{
Box Klein, Mittel, Grosz;
Box Temp;

   Klein.Setze(2, 4);
   Mittel.Setze(5, 6);
   Grosz.Setze(8, 10);

   std::cout << "Der Flaecheninhalt ist " << Klein.HoleFlaeche() << "\n";
   std::cout << "Der Flaecheninhalt ist " << Mittel.HoleFlaeche() << "\n";
   std::cout << "Der Flaecheninhalt ist " << Grosz.HoleFlaeche() << "\n";

   Temp = Klein + Mittel;
   std::cout << "Der neue Flaecheninhalt ist " << Temp.HoleFlaeche() << "\n";
   Temp = 10 + Klein;
   std::cout << "Der neue Flaecheninhalt ist " << Temp.HoleFlaeche() << "\n";
   Temp = 4 * Grosz;
   std::cout << "Der neue Flaecheninhalt ist " << Temp.HoleFlaeche() << "\n";

   return 0;
}


// Ergebnis beim Ausführen
//
// Der Flaecheninhalt ist 8
// Der Flaecheninhalt ist 30
// Der Flaecheninhalt ist 80
// Der neue Flaecheninhalt ist 20
// Der neue Flaecheninhalt ist 28
// Der neue Flaecheninhalt ist 1280

zurück...