Auf Variable zugreifen



  • Hi,

    mein Quellcode sieht so aus:

    datei.h
    
    class Klasse_A
    {
    //.........
    
    public:
    void funktion_A();
    
    //.....
    
    }
    
    datei.cpp
    
    Klasse_A::funktion_A()
    {
    int a=0;
    
    }
    
    main.cpp
    
    Klasse_A Vererbung;
    
    Vererbung->funktion_A(); //funktioniert
    Vererbung->funktion_A->a = 1; //funktioniert nicht
    
    }
    

    Wie aus diesem Code zu ersehen ist, möchte ich in main.cpp auf die Variable int a zugreifen, die in funktion_A() deklariert ist. Wie mach ich das nun?
    Dies ist nur ein Codebeispiel um mein Problem zu erläutern.



  • Klasse_A Vererbung;
    
    Vererbung->funktion_A(); //funktioniert
    Vererbung->funktion_A->a = 1; //funktioniert nicht
    
    }
    

    Ich glaube du meintest es so:

    Klasse_A Vererbung;
    
    Vererbung.funktion_A(); //funktioniert
    Vererbung.funktion_A.a = 1; //funktioniert nicht
    
    }
    

    Zu deinem Problem, die Variable a ist nur in ihrem Gültigkeitsbereich sichtbar und der ist die funktionA, also kannst du von aussen nicht darauf zugreifen.

    Du könntest die Variable so für die gesamte Klasse und in diesem Fall auch von aussen sichtbar machen.

    class Klasse_A{
    public:
    void funktionA();
    public:
    int a;
    };
    
    Klasse_A Vererbung;
    Vererbung.funktionA();
    Vererbung.a=10;
    

    Ist aber kein guter Stil, könnte man besser mit einer Set und get Methode machen.


Anmelden zum Antworten