initialisation von variablen
-
hallo,
ich komme aus der delphi-ecke. in einer delphi-unit (keine formular-unit, eine ganz normale unit, nur mit quellcode) habe ich die möglichkeit unter dem abschnitt:
initializationobjecte, variablen oder sonst was zu initialisieren oder ausführen zu lassen.
und so gibt es auch noch den abschnitt:
finalizationhier kann ich dann dinge zerstören wenn das prog oder die unit beendet wird.
FRAGE: ich habe nur eine cpp-Datei (mit header), in dieser datei möchte ich auch dinge initialisieren und nach getaner arbeit zerstören, das initialisieren ist nicht so das problem, das macht er sobald ich die datei verwende,
aber wie kann ich die object und so zerstören??? ich suche also so etwas wie
finalizationmfg
murph
-
mit new kannst du ein object erstellen mit delete wieder löschen.
-
Aber du kannst auch ganz Objekte augf dem Stack erstelloen. Die löschen sioch
automatisch:int a; if(a==0) { int i=4; //hier wird i erstellt. cout << i; // hier ist i noch vvorhanden } cout << i; // hier wurde i schon wieder gelöscht.
Schau mal in cpp-tuts unter dem Begriff Gltigkeitsbereich oder so
Gruß, Maxi
-
Wenn du für irgendwas Variablen leg sie auf dem Stack (wie Maxi) oder auf dem Heap (wie <chris> ) an. In C++ ist das nicht so besch'eiden' wie in Delphi... Du kannst sie mitten in einer Funktion erstellen, nicht wie in Delphi am Anfang einer Prozedur oder global (Globale gehen auch aber die sollte man in C++ vermeiden)... Such dir am besten mal ein vernünftiges Sample zum Einstieg...
Hier mal ein wenig Beispielcode (nicht getestet )
// sonstwas.cpp int a = 100,b = 20,c = 90,d = -23; // Globale int func(int u) { int v = a; // Lokal if(c == 0) d = a / b * c; char w = 'X'; // Lokal const char* c = "Hallo"; // Lokal return u * a; // Rückgabewert } int main(int argc, char** argv) { func(23); return 0; }