Salut allons droit au but !
Comme le dit l'intitulé du sujet :
"Comment initialiser un objet membre static ?"
Explication:
J'ai une classe Mere(classe de base) : "Frame" qui possède un attribut static que voici :
Note : J'utilise la librairie SFML.
Cette classe a plusieurs classes filles dont : "Map", "Game", "Character" etc...
Toutes ces classes filles pour "se Bliter" utilisent l'objet membre sf::RenderWindow App :
1 2 3 4
|
App.Draw(MyMap);
App.Draw(MyCharacter);
//etc.... |
Un type primitif c'est facile il suffit d'écrire:
int MaClasse::membreStatic = 0; // par exemple
Mais puisque "App" est un objet membre static comment faut-il l'initialiser ?
1 2
|
sf::RenderWindow Frame::App = 0; // ? <-- ça reste à voir ! |
Je sais qu'on peut créer un pointeur sur un objet et l'initialiser ainsi:
1 2
|
sf::RenderWindow * Frame::App = NULL; |
Mais y'a t-il une autre solution que les pointeurs ?
J'accepte toutes les réponses à condition que ce soit de la P.O.O. !
Note : y'a-t-il un rapport avec le fiasco des variables static que l'on trouve dans la F.AQ. C++ ?
Cordialement
Partager