Frage zu Konstanten



  • Hi

    Ich brauche in meinem Programm, so ne Art globale Konstanten, auf die sämtliche Klassen zugreifen können.
    Zum Beispiel einen Pfad zu einer Log-Datei in der dann die verschiedenen Klassen etwas hineinschreiben können. (..\<programm-ordner>\log\error.log)
    Diese Konstanten soll der Benutzer aber über ein Konfigurationsmenue ändern können, Also fällt " #define ... " oder " const char * " ja schon mal raus weil ich die ja nur hart mit eincompilieren kann.

    Ich hab mir schon überlegt alle diese Konstanten in eine Klasse "config" als Variablen dieser Klasse zu packen.
    Dann muß aber jede Klasse die eine von den Variablen benötigt ein Objekt der Klasse "config" erstellen, daraus folgt, das die Variablen der Klasse, jedesmal neu mit Werten belegt werden müssen, sodas die Werte in eine Datei zwischengepeichert werden müssen, damit nich ständig der Benutzer belästigt wird.

    Das kann doch nich wirklich ne Lösung sein, das is ja reudig.

    Kurz gesagt: Ich brauch Konstanten die im ganzen Programm bekannt sind, die aber vom Benutzer, vorm Prgrammstart angepasst werden können, also quasi Pseudo-Konstanten 😃
    Geht sowas?

    Hoffentlich versteht mein Gebrabbel jemand 🙄



  • du legst einfach ne globale Variable an...?



  • Shade Of Mine schrieb:

    du legst einfach ne globale Variable an...?

    du meinst sicher so:

    const char * var = "irgendwas";
    

    das Probelem ist, wenn das Ding erstmal kompiliert ist, kann ich die Konstante ja nicht mehr verändern, oder ?



  • lass das const weg oder such mit der Forensuche mal nach "Singleton" bzw. "Singleton Pattern"



  • Perfekt! Genau das was ich brauche. Manchmal brauch man halt nur den richtigen Begriff. 🙂


Anmelden zum Antworten