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
|
Copyright © 1997, 1998, 2001-2005 Heinz Tschabitscher - Letzte Änderung 13. September 2005
Heinz Tschabitscher - | Datenschutz | Impressum - Kommentare, Kritik, Anregungen, Fragen?