Änfänger! Konstruktor verändert Log-Datei



  • Hallo zusammen, bin vor kurzem erst beim Programmieren gelandet und habe hier wahrscheinlich ein Anfängerproblem, welches mich nun aber schon ein paar Stunden auf Trab hält.

    Ich möchte eine Protokoll-Datei erstellen lassen. Im Code-Beispiel schreibe ich einfach das "HALLO!" in die Datei hinein. Das funktioniert tadellos, bis ich dann eine Objekt von meiner Testklasse erstelle.

    Ohne die Zeile

    Testklasse Testobjekt;
    

    steht wie gewünscht "HALLO!" in der Datei, _mit_ der Zeile steht ohne für mich erkennbaren Grund eine Speicheradresse wie 0x80125d in der protokoll.log drin (das "HALLO!" ist auch verschwunden...). Mich wundert das in zweifacher Weise, zum einen schließe ich die Verbindung zur Datei bevor ich die Klasse instanziere, zum anderen steht im Konstruktor meiner Testklasse überhaupt nichts drin, woher nun auf einmal diese Speicheradresse kommt ist mir ein Rätsel.

    Die Frage ist wahrscheinlich sehr dumm, aber ich komme hier wirklich nicht ohne Hilfe weiter, für Tips bedanke ich mich schonmal im voraus!

    Testklasse::Testklasse():
    varx(10), vary(20)
    {
    }
    
    	int main()
    {
    	ofstream writelog;
    	writelog.open("protokoll.log");
    	writelog << "HALLO!" << endl;
    	writelog.close();
    	Testklasse Testobjekt;
    }
    

  • Mod

    Lies dir bitte mal den dritten Link in meiner Signatur durch, der Fehler liegt wahrscheinlich ganz woanders.



  • Zeig den restlichen Code, wo die Datei auch nur angefasst wird.
    Mir ist außerdem der Zusammenhang mit dem Konstruktor nicht klar. Wie kommst du denn darauf, dass er die Datei ändert?



  • Hab meine Code gemäß der Anleitung von SeppJ durchgeschaut und bin darauf gestoßen, dass ich im Dekonstruktor nochmal auf die Datei zugegriffen habe (Inhalt wurde dabei gelöscht und eine Adresse reingeschrieben...).

    Da konnte ich natürlich lange im Konstruktor suchen... *peinlich*

    Wie schon gesagt, ich bin neu bei der Sache und probiere aktuell viel aus, ausserdem muss ich mich noch ein wenig "reindenken" wie man solche Probleme angeht...

    Lustigerweise bin ich erst durch den Link von Sepp draufgekommen, das war Hilfe zur Selbsthilfe 😉


  • Mod

    fattony schrieb:

    Lustigerweise bin ich erst durch den Link von Sepp draufgekommen, das war Hilfe zur Selbsthilfe 😉

    Das ist übrigens Absicht 🙂


Anmelden zum Antworten