noli88 Geschrieben 6. Dezember 2004 Geschrieben 6. Dezember 2004 Also, ich lerne mir im Moment C++. ich weis zwar das ich nen Destruktor brauch um Speicher frei zu schaufeln, aber wozu dann dieser Aufbau BSP ausm buch: Cat(int xAge); ~Cat(); Wozu "zerstöre ich es gleich nachdem ich es "aufbaue"? wenn ich es aufbauen würde, es verwende, und später wieder zerstöre, OK, aber so?? und noch eins-... wozu dann dieser komische Aufbau: Cat::~Cat() { } Zitieren
noli88 Geschrieben 6. Dezember 2004 Autor Geschrieben 6. Dezember 2004 sorry: formfehler... oben wo die zitate ausseinander stehen gehören sie natürlich zusammen, also: Cat(int xAge); ~Cat(); das gleiche gilt auch unten mit Cat::~Cat() { } Zitieren
nic_power Geschrieben 6. Dezember 2004 Geschrieben 6. Dezember 2004 Hallo, Das erste Beispiel dürfte aus der Deklaration der Klasse "Cat" sein, in der sowohl der Konstruktor (mit einem int als Argument) als auch der Destruktor deklariert werden. Im zweiten Beispiel ist der Destruktor der Klasse Cat leer. Poste doch mal das komplette Beispiel, dann wirds übersichtlicher. Nic Zitieren
noli88 Geschrieben 6. Dezember 2004 Autor Geschrieben 6. Dezember 2004 #include <iostream> using namespace std; #include <conio.h> class Cat { public: Cat(int xAge); ~Cat(); int GetAge() {return itsAge;} void SetAge(int age); void Meow(); private: int itsAge; }; Cat::Cat(int xAge) { itsAge=xAge; }; Cat::~Cat() {} void Cat::SetAge(int age) { itsAge=age; } void Cat::Meow() { cout << "Miau.\n"; } int main() { Cat Ivo(5); Ivo.Meow(); cout << "Ivo is ne Katze die " << Ivo.GetAge() << " Jahre alt is.\n"; Ivo.Meow(); Ivo.SetAge(7); cout << "Jetzt is Ivo " << Ivo.GetAge() << " Jahre alt is.\n"; getch(); return 0; } wieso schaff ich es nicht das der text auch hier eingeschoben wird, zwecks Übersicht=??? Zitieren
Klotzkopp Geschrieben 7. Dezember 2004 Geschrieben 7. Dezember 2004 wieso schaff ich es nicht das der text auch hier eingeschoben wird, zwecks Übersicht=???Weil du QUOTE statt CODE benutzt. Oder zuviele Fragezeichen Zitieren
Timon Geschrieben 7. Dezember 2004 Geschrieben 7. Dezember 2004 public: Cat(int xAge); ~Cat(); int GetAge() {return itsAge;} void SetAge(int age); void Meow(); private: int itsAge; [/PHP] Das ist nur die Liste der Deklarationen, sprich welche Methoden und Membervariablen die Klasse besitzt. [PHP] Cat(int xAge); ~Cat(); Obenstehende Zeilen werden nicht ausgeführt. Sie lassen den Compiler nur wissen ob eine Methode oder Variable in einer Klasse vorhanden ist, und mit welchem Typ. Cat::~Cat() { } [/PHP] Bedeutet dass beim Aufrufs des Destruktors keine benutzerspezifischen Aufgaben zu erledigen sind. Es wird also nur von der C++ bzw. Systemspeicherverwaltung der Speicher der Instanz freigegeben. Du koenntest hier aber auch eigenen Code ausfuehren lassen, bevor das Objekt zerstoert wird. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.