Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Dostęp do zmiennych klasy w innej klasie

Ostatnio zmodyfikowano 2017-01-15 22:07
Autor Wiadomość
MSSC
Temat założony przez niniejszego użytkownika
Dostęp do zmiennych klasy w innej klasie
» 2017-01-15 20:29:59
Witam!

Tak więc mam kod cuś takiego
C/C++
class klasa1 {
    class klasa2 {
        void metoda() {
            cout << zmienna_z_klasa3;
        }
    };
    class klasa3 {
        int zmienna = 10;
    };
};

I problem jest taki, że za nic nie mogę zmusić tego do działania. Nie wiem jak zastosować friend w tym przypadku. Dzięki!
P-156463
mokrowski
» 2017-01-15 21:12:19
To w ramach odpowiedzi, pokażę Ci jak wygląda sformatowane (do czego namawiam), to co umieściłeś:
C/C++
class klasa1 {
    class klasa2 {
        void metoda() {
            cout << zmienna_z_klasa3;
        }
    };
    class klasa3 {
        int zmienna = 10;
    };
};
O to Ci chodziło by tworzyć klasy wewnętrzne? Oczywiście jest taka konstrukcja w C++ tylko .. czy o to Ci chodziło? :-)
P-156465
MSSC
Temat założony przez niniejszego użytkownika
» 2017-01-15 21:46:20
Nie nie o to chodzi ;). Po prostu tab przenosi mnie na dół strony zamiast formatować tekst. Ale do rzeczy, chodzi mi o to, by metoda w klasie 2 miała dostęp do zmiennej z klasy 3. A klasy wewnętrzne to żaden problem.
P-156470
mokrowski
» 2017-01-15 22:01:40
Wstaw więc poprawnie kod bo nie chcę zgadywać czy rozwiązywać problem klas wewnętrznych czy inny.
P-156471
mateczek
» 2017-01-15 22:03:35
jak to sobie wyobrażasz?? metoda to funkcja działa na składnikach obiektu. Metoda może mieć dostęp do obiektu klasy 2, a nie do składnika klasy!!!
C/C++
#include <iostream>

using namespace std;
class A {
    class B {
    public:
        int skladnik;
    };
public:
    B objb;
    void ustaw( int val ) {
        objb.skladnik = val;
    }
    void wyswietl() {
        cout << objb.skladnik << endl;
    }
};
int main()
{
    A a;
    a.ustaw( 5 );
    a.wyswietl();
}
zobacz dziedziczenie. Może o to Ci chodzi ??
P-156472
mokrowski
» 2017-01-15 22:07:35
@mateczek mogło chodzić o rozwiązanie ze static ale pytanie jest nieprecyzyjne.
P-156473
« 1 »
  Strona 1 z 1