Pristupanje statičkim vrednostima klase

Pristupanje statičkim vrednostima klase

offline
  • Pridružio: 10 Avg 2006
  • Poruke: 1009
  • Gde živiš: Beograd

Imam problem veliki sa ovime.

Da ne bih kačio ceo kod i sve, napraviću reprezentativan primer, jako skraćen i uprošćen. Imam 2 fajla:

main.cpp

#include blablabla itd... class Game { public: static std::map<std::string,CL_Sprite *> spriteContainer; static std::vector<GameObject *> objectContainer; }; std::map<string,CL_Sprite *> spriteContainer; std::vector<GameObject *> objectContainer; ---main funkcija je ovde ispod, ona pokreće loop igre--

GameObject.cpp

#include "GameObject.h" GameObject::GameObject() {       this->sprite = Game::spriteContainer["NekaSlika"]; }

Dakle,potrebno mi je da klasa GameObject (i svaka druga klasa kojoj je to potrebno) može da učita sliku iz kontejnera za slike.

Ovo, naravno, ne radi jer on jedino u fajlu main.cpp prepoznaje šta je "Game", dok ni u jednom drugom fajlu to ne prepoznaje. Kako ovo da sredim?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

A sto tu klasu ne prebacis u neki treci fajl, pa da taj treci fajl importujes u oba ova fajla gore?
I zasto klasu definises u cpp fajlu a ne u header fajlu?
Header bi trebao da sadrzi definicije, a cpp implementacije.



offline
  • Pridružio: 10 Avg 2006
  • Poruke: 1009
  • Gde živiš: Beograd

Kako mi tako nešto tako očigledno nije palo na pamet....

Hvala bobby mnogo, radi

Ko je trenutno na forumu
 

Ukupno su 581 korisnika na forumu :: 19 registrovanih, 1 sakriven i 561 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Alibaba1981, Bobrock1, Dorcolac, HrcAk47, indja, Istman, Konda, ladro, Lazarus, loon123, Miki01, Mixelotti, mnn2, nikoladim, styg, Van, W123, zlaya011, Žukov