Destruktor
-
Hi,
ich hab eine Klasse mit vier Membervariablen und einem Konstruktor, der den Membervariablen Werte zuweist.
Also:
class CFoo { public: CFoo(std::string a,std::string b,std::string c,std::string d) : m_a(a), m_b(b), m_c(c), m_d(d){}; ~CFoo(); private: std::string m_a; std::string m_b; std::string m_c; std::string m_d; };Wie schaut jetzt der Destruktor für diese Klasse aus?
Das ist ja Blödsinn :(:
~CFoo() { delete string; }mfg,
soad
-
Der Dtor kann leer sein. Weil du hast ja keine Membervariable/Attribut mit new angelegt. Nur wo ein new ist, muß auch ei delete sein. Die Stringts liegen bei deinem Beispiel aber als Objekte auf dem Stack, die werden autom. aufgeräumt.
-
Ok danke!
Muss ich den Destruktor in der Klasse trotzdem deklarieren oder kann ich ihn jetzt ganz weg lassen?
-
Den kannst du weglassen. Den mußt du erst implementieren (auch wenn er leer ist), wenn du CFoo als Basisklasse machen willst. Aber so sehe ich zur Zeit keinen Grund.