Un container qui prend plusieurs types d'objet en C++

cs_kanta Messages postés 3 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 20 août 2008 - 20 août 2008 à 10:10
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 - 31 oct. 2008 à 17:12
Bonjour à tous,

Ma question concerne le c++. Je cherche un container dans lequel je pourrais mettre les objets de type différent. Par exemple dans un vecteur ou une list, on ne peut mettre qu'un seul type soit un int ou un string ... Or moi je souhaiterais mettre à la fois les string et les int .

Est ce que quelqu'un à une solution ?

Merci d'avance.

abuob 

5 réponses

gamemonde Messages postés 336 Date d'inscription samedi 9 août 2003 Statut Membre Dernière intervention 9 juillet 2011 2
20 août 2008 à 11:30
utilise les templates
0
cs_kanta Messages postés 3 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 20 août 2008
20 août 2008 à 12:27
Les templates permettent d'avoir un seul type or ce que je cherche c'est de stocker un coup un string dans mon container et un autre coup un double. Est ce que vous m'avez compris ?

abuob 
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
20 août 2008 à 13:44
Salut,

Tu peux faire hériter les classes que tu souhaites mettre dans ton container d'une seule classe (MonDouble héritant de MonElement, MonString héritant de MonElement...)

Puis tu crées le container STL de ton choix en lui demandant de stocker des MonElement.

Lorsque tu lis ce qu'il y a dans ton container, tu peux savoir si c'est un MonDouble ou un MonElement grace à RTTI.
0
cs_kanta Messages postés 3 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 20 août 2008
20 août 2008 à 15:30
Je vais essayer cette méthode, je pense que ça va marcher. Merci pour à tous pour les solutions apportées.
abuob 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 3
31 oct. 2008 à 17:12
Salut,
une autre solution est aussi d'utiliser des pointeurs void* avec un typeof , ou un pair<long,long> le premier etant une constante definissant le type de ta classe et le second l'adresse de l'objet.

Salut et bonne continuation

http://liveplayaz.com

je suis heureux de faire partie d'une grande famille ...!

/B&
0
Rejoignez-nous