Dostęp do zmiennych klasy w innej klasie
Ostatnio zmodyfikowano 2017-01-15 22:07
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 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! |
|
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ś: 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? :-) |
|
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. |
|
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. |
|
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!!! #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 ?? |
|
mokrowski |
» 2017-01-15 22:07:35 @mateczek mogło chodzić o rozwiązanie ze static ale pytanie jest nieprecyzyjne. |
|
« 1 » |