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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
// Kapitel 6 - Programm 10 - AUTOMETH.CPP
#include <iostream>
class Standards
{
int Groesze; // Ein einfacher gespeicherter Wert
char *Zeichenkette; // Ein Name für den gespeicherten Wert
public:
// Das Überschreibt den Standardkonstruktor
Standards(void);
// Das Überschreibt den Standard-Kopierkonstruktor
Standards(Standards &EinObjekt);
// Das Überschreibt den Standard-Zuweisungskonstruktor
Standards &operator=(Standards &EinObjekt);
// Dieser Destruktor ist durch dynamischer Speicherbeschaffung notwendig
~Standards(void);
// Und schlieálich ein paar normale Methoden
void SetzeDaten(int EinGroesze, char *EinZeichenkette);
void HoleDaten(char *AusZeichenkette);
};
Standards::Standards(void)
{
Groesze = 0;
Zeichenkette = new char[2];
strcpy(Zeichenkette, "");
}
Standards::Standards(Standards &EinObjekt)
{
Groesze = EinObjekt.Groesze;
Zeichenkette = new char[strlen(EinObjekt.Zeichenkette) + 1];
strcpy(Zeichenkette, EinObjekt.Zeichenkette);
}
Standards &Standards::operator=(Standards &EinObjekt)
{
delete [] Zeichenkette;
Groesze = EinObjekt.Groesze;
Zeichenkette = new char[strlen(EinObjekt.Zeichenkette) + 1];
strcpy(Zeichenkette, EinObjekt.Zeichenkette);
return *this;
}
Standards::~Standards(void)
{
delete [] Zeichenkette;
}
void Standards::SetzeDaten(int EinGroesze, char *EinZeichenkette)
{
Groesze = EinGroesze;
delete [] Zeichenkette;
Zeichenkette = new char[strlen(EinZeichenkette) + 1];
strcpy(Zeichenkette, EinZeichenkette);
}
void Standards::HoleDaten(char *AusZeichenkette)
{
char Temp[10];
strcpy(AusZeichenkette, Zeichenkette);
strcat(AusZeichenkette, " = ");
sprintf(Temp, "%d", Groesze);
strcat(AusZeichenkette, Temp);
}
int main()
{
char Buffer[80];
Standards MeineDaten;
MeineDaten.SetzeDaten(8, "Hutgroesse");
MeineDaten.HoleDaten(Buffer);
std::cout << Buffer << "\n\n";
Standards MehrDaten(MeineDaten);
MehrDaten.SetzeDaten(12, "Schuhgroesse");
MeineDaten.HoleDaten(Buffer);
std::cout << Buffer << "\n";
MehrDaten.HoleDaten(Buffer);
std::cout << Buffer << "\n\n";
MeineDaten = MehrDaten;
MeineDaten.HoleDaten(Buffer);
std::cout << Buffer << "\n";
MehrDaten.HoleDaten(Buffer);
std::cout << Buffer << "\n";
return 0;
}
// Ergebnis beim Ausführen
//
// Hutgroesse = 8
//
// Hutgroesse = 8
// Schuhgroesse = 12
//
// Schuhgroesse = 12
// Schuhgroesse = 12
|
Copyright © 1997, 1998, 2001-2005 Heinz Tschabitscher - Letzte Änderung 13. September 2005
Heinz Tschabitscher - cpp@ladedu.com | Datenschutz | Impressum - Kommentare, Kritik, Anregungen, Fragen?