Kapitel 11 - Programm 9 - ANWGER1.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
							 // Kapitel 11 - Programm 9 - ANWGER1.CPP
#include <iostream>

// Eine sehr einfache Klasse
class CForm
{
public:
   void ZeigeForm(void);
   virtual void Kopf(void) { std::cout << "Das ist eine Kopfzeile\n"; }
   virtual void Koerper(void) { std::cout << " Das ist der Text\n"; }
   virtual void Fusz(void) { std::cout << "Das ist die Fusszeile\n\n"; }
};


void CForm::ZeigeForm(void)
{
   Kopf();
   for (int Index = 0 ; Index < 3 ; Index++)
   {
	  Koerper();
   }
   Fusz();
}


// Diese Klasse überschreibt zwei der virtuellen Methoden der Basisklasse
class CMeineForm : public CForm
{
   void Kopf(void) { std::cout << "Das ist eine neue Kopfzeile\n"; }
   void Fusz(void) { std::cout << "Das ist eine neue Fusszeile\n"; }
};


int main()
{
CForm *ErsteForm = new CForm;

   ErsteForm->ZeigeForm();	 // Ein Aufruf an die Basisklasse

   delete ErsteForm;
   ErsteForm = new CMeineForm;
   ErsteForm->ZeigeForm();	 // Ein Aufruf an eine abgeileitete Klasse

   return 0;
}


// Ergebnis beim Ausführen
//
// Das ist eine Kopfzeile
//	Das ist der Text
//	Das ist der Text
//	Das ist der Text
// Das ist eine Fusszeile
//
// Das ist eine neue Kopfzeile
//	Das ist der Text
//	Das ist der Text
//	Das ist der Text
// Das ist eine neue Fusszeile

zurück...