Konstruktor,Destruktor
-
Wozu sind diese Destrukturen und Knstrukturen da?
Was macht zum Beispiel[code type="C++" tabs="3"]
class test {
hi();
~hi();[/code
wouzu is dieses 2. hi() mit dem ~?
Und was macht:[code type="C++" tabs="3"]
get_Token curr_tok = ;
[/codeBekommt get_Token auch den Wert ';'?
-
//Kann bitte ein Mod den obrigen Beitrag löschen? Danke!
Wozu sind diese Destruktoren und Konstruktor da?
Was macht zum Beispielclass test { hi(); ~hi();
wouzu is dieses 2. hi() mit dem ~?
Und was macht:get_Token curr_tok = ;
Bekommt get_Token auch den Wert ';'?
-
geht nicht, da nicht sicher ist, daß du der bist, der ihn gemacht hat.
-
Hallo,
erstmal müssen Destruktoren und Konstruktoren den selben namen der Klasse habenm.
test(); wäre der onstruktor und ~test(); der Destrukor.
Der Konstruktor wird automatisch beim Erstellen einer Klasseninstanz aufgerufen.
Der Destruktor wird automatisch beim Vernichten der Klasseninstanz aufgerufen, wenn diese z.B. den Gültigkeitsbereich verlässt.
Ist der Destruktor public kann man ihn auch explizit aufrufen.Konstruktoren und Destruktoren haben keinen Rückgabewert und der Destruktor auch keine Paramter.
Konstruktor wird ctor und Destruktor dtor abgekürzt.
Man kann auch Elementinitialisierer machen, die man direkt nach dem Kopf schreibt (nur bei ctor):
class Test { private: const int m_a; public: Test(int a) : m_a(a) {} };
Konstanten einer Klasse muss man so z.B. initialisieren, weil man nicht einfach sagen kann m_a = a; denn die Variable ist ja eine Konstante.
So, mehr fällt mir auf Anhieb nicht dazu ein.
MfG MAV
-
und du kannst zum Beispiel dann einen Aufruf machen wenn die Klasse terminiert wird:
~test()
{
cout << "Die Klasse ist nun kaput..." << endl;
};genauso mit:
test()ice