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() { }
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() { }
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
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=???
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
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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden