[c++] klasa widzi pola statyczne ale nie widzi obiektow


(pain3hp) #1

Klasa widzi pola statyczne ale nie widzi obiektów

obiekty sa tworzone w main();

klasa A ma możliwość wyciągania danych statycznych z klasy B natomiast nie może zmienić właściwości obiektów. Obiekty klasy B są tworzone w funkcji main(); a funkcja której zadaniem będzie wprowadzenie zmian w właściwościach obiektów klasy B jest wywołanapo utworzeniu obiektów, natomiast kompilator stawia problem ponieważ domyślam się że on kompiluje tą funkcję przed stworzeniem tych obiektów i mówi że nie wie co to jest B obiekt;

Nie wiem jak to rozwiązać, liczę na wskazówki, te obiekty mogą być globalne, klasa B jest w rozlozona na .h i .cpp to samo z klasą A, main.cpp jest takze osobnym plikiem, przypomne że pola statyczne są widoczne w klasie A wiec kolejność implementacji funkcji powinna być OK.

Proszę o pomoc i dzięki


(Sawyer47) #2

Pokaż kod.


(pain3hp) #3
class A 

{

public: void pokaz_wartosc_obiektu(); 

};

void A::pokaz_wartosc_obiektu()

{

 cout<
}

class B 

{

public: static int liczba;

int wartosc;  

};

int B::liczba = 1; //globalizacja

main ()

B liczba1; 

B liczba2; 

liczba2.wartosc = 2;

(Sawyer47) #4

Sięganie do obiektów globalnych z metod z funkcji/metod to w 99,9% przypadków bardzo zły pomysł. Lepiej przemyśl kod tak, abyś nie musiał tego robić,