Anfänger braucht Hilfe Themen Eigene Klassen zugriff von überall



  • Hallo zusammen,

    Also ich komm einfach nicht weiter.

    Thema : Klassen in Konsolenanwendung ist klar.

    ABER
    Ich habe meine Klasse
    Ich brauche nur 1.Instanz (Eine Art Documentenklasse)
    Diese möchte ich von überall(aus meiner Anwendung) wie die Dokumentenklasse abrufen und verändern.

    Wie ist die Frage ?



  • Zugriff von überall?
    Wo ist denn überall?
    Deklarier die Klasse im Globalen Namespace.



  • hä ich hoffe ich versteh das richtig:

    #include "DeineKlasse.h"
    ...
    CDeineKlasse* m_pClass;
    m_pClass->XXX;
    


  • Ich habe wie gesagt :

    Meine Klasse

    Ich möchte jetzt 1.Instanz davon haben da dort dann meine ganzen daten drin sind.
    Beispielklasse

    class myclass
    {
    public :
    int tel;
    }
    

    jetzt möchte eine Objekt haben von das ich von jeder aderen Klasse ändern kann z.b. aus der Dokumentklass von einem Dialog aus etc.
    aber immer nur den wert von tel.

    aber wie kann ich das ?



  • du könntest die instanz z.b. in der applikationsklasse erstellen und dann von allen anderen klassen darauf zugreifen: AfxGetApp()->InstanzDeinerKlasse



  • cc schrieb:

    Ich habe wie gesagt :
    aber immer nur den wert von tel.

    tel -> public
    rest -> protected



  • Hallo zusammen,

    habe an dem Problem das ganze we gessesen und ich habe keine Lösung

    Problem
    Ich baue mir einen Dialog = IDD_Projekt_Optionen

    Ich denke jeder weis was ich damit meine.

    Ich möchte hier eine Art Sammelmappe für alle Allgemeninen Informationen erschaffen.(Office Sammelmappe Ähnlich)

    jetzt benötige ich ja eine Klasse die die Einstellungen übernehmen kann.
    Ich nenne sie einfach mal GlobalSettings die Instanz heist GS.
    Ich möchte nun die Klasse Aus Doc View und FRAME ansprechen können

    1. Wo muss ich mir eine Instanz davon ableiten um von den 3 erwähnten
    Klassen darauf zugreifen zu können.

    2. Wie greife ich dann schließich darauf zu ?

    Ich möchte also immer nur GS verändern von "überall" !
    Vielleicht könnt ihr mir jetzt weiterhelfen.

    mfg
    cc



  • Such mal nach dem Singelton Entwurfsmuster.
    Das stellt sicher das von einer Klasse immer nur ein Objekt/Instanz existiert.

    Devil



  • Dazu empfehle ich dir mal den Artikel Public Variablen sind böse? aber wieso? aus unserer BCB-FAQ durchzulesen.. hat zwar etwas BCB-Spezifische Angaben drin, tut aber trotzdem gut diese zu lesen. Gerade auch wenn du über sowas wie eine Dokumenten-Klasse nachdenkst.

    Was die Zugreifbarkeit anbelangt, so würde es hier wohl (ausnahmsweise) sinn machen, eine globale Instanz der Klasse zu erzeugen... sofern du von den Public-Variablen ablässt...

    -junix



  • junix schrieb:

    Dazu empfehle ich dir mal den Artikel Public Variablen sind böse? aber wieso? aus unserer BCB-FAQ durchzulesen.. hat zwar etwas BCB-Spezifische Angaben drin, tut aber trotzdem gut diese zu lesen. Gerade auch wenn du über sowas wie eine Dokumenten-Klasse nachdenkst.

    Was die Zugreifbarkeit anbelangt, so würde es hier wohl (ausnahmsweise) sinn machen, eine globale Instanz der Klasse zu erzeugen... sofern du von den Public-Variablen ablässt...

    -junix

    OK
    hast eigentlich recht vielleicht habe ich da doch noch einen anderen lösungsweg entdect.

    mfg
    CC


Anmelden zum Antworten