Bonjour,

Je ne savais pas quoi mettre en titre pour mon probleme mais ça me semble correcte.

Je fais un jeu en C++ sur une base damier ( des cases donc ) qui contiennent différents types d'élément.
un élément entité ou un élément nourriture ou un élément mur.

Ces 3 éléments sont fondamentalement très différents et j'amerai les regrouper dans un seul pointeur dans une classe Case une sorte de conteneur.

ma classe case :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
 
class   Case
{ 
    public:
        Case(int num, Entite *ent);
        ~Case();
 
        int     get_num();
        void    set_num(int num);
 
        Entite *get_entite();
        void    set_entite(Entite *entite);
        bool    isEmpty();
 
    private:
        int _num;
        Entite *_ent;  
// je voudrai ici un type Element 
// qui pourrait contenir les classes Entite, Nourriture, Mur
};
J'avais penser à un type void * mais j'ai lu que :

En C++, le type void *, contrairement au C, ne peut être converti implicitement en un pointeur d'un autre type. Il faut obligatoirement effectuer un forçage de type.
OU une classe abstraite dont les autres seraient héritées mais qui serait completement vide

je voulais juste savoir qu'elle etait la meilleure solution ou si une autre à laquelle je n'ai pas pensé existe.

j'espere avoir été clair

Merci beaucoup.

NhyMbuS