home *** CD-ROM | disk | FTP | other *** search
- //---------------------------------------------------------------------------
- #include <vcl\vcl.h>
- #pragma hdrstop
-
- #include "Monstr3a.h"
- //---------------------------------------------------------------------------
- #pragma resource "*.dfm"
-
- const String Pfad = "c:\\cpp\\buch\\";
- class TMonster
- {
- private:
- String Name;
- String Wesen;
- String Bild;
- public:
- // Probier aus, was passiert, wenn Du "int x" durch "void" ersetzt
- void operator ++ (int x);
- virtual String Typ (void) {return "Monster";};
- TMonster (String N, String W, String Datei);
- };
-
- class TGMonster : public TMonster
- {
- public:
- virtual String Typ (void) {return "GeistesMonster";};
- TGMonster (String N, String W, String Datei);
- };
-
- class TSMonster : public TMonster
- {
- public:
- virtual String Typ (void) {return "SeelenMonster";};
- TSMonster (String N, String W, String Datei);
- };
-
- //---------------------------------------------------------------------------
-
- TMonster *Frank;
- TGMonster *Albert;
- TSMonster *Sigmund;
- TForm1 *Form1;
-
- //---------------------------------------------------------------------------
- __fastcall TForm1::TForm1(TComponent* Owner)
- : TForm(Owner)
- {
- }
- //---------------------------------------------------------------------------
- TMonster::TMonster (String N, String W, String Datei)
- {
- Name = N; Wesen = W; Bild = Datei;
- }
- //---------------------------------------------------------------------------
- TGMonster::TGMonster (String N, String W, String Datei)
- : TMonster (N, W, Datei)
- {
- }
- //---------------------------------------------------------------------------
- TSMonster::TSMonster (String N, String W, String Datei)
- : TMonster (N, W, Datei)
- {
- }
- //---------------------------------------------------------------------------
- void TMonster::operator ++ (int x) // "Dummy-Parameter"
- {
- Form1->Label1->Caption = "Name: " + Name;
- Form1->Label2->Caption = "Wesen: " + Wesen;
- Form1->Label3->Caption = "Typ: " + Typ();
- Form1->Image1->Picture->LoadFromFile (Pfad+Bild);
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::FormCreate(TObject *Sender)
- {
- Frank = new TMonster ("Frankie", "ungew÷hnlich", "Frank.bmp");
- Albert = new TGMonster ("Berti", "nachdenklich", "Albert.bmp");
- Sigmund = new TSMonster ("Sigi", "mitfⁿhlend", "Sigmund.bmp");
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button1Click(TObject *Sender)
- {
- (*Frank)++;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button2Click(TObject *Sender)
- {
- (*Albert)++;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button3Click(TObject *Sender)
- {
- (*Sigmund)++;
- }
- //---------------------------------------------------------------------------
-