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

Signaler
Messages postés
3
Date d'inscription
vendredi 2 mai 2003
Statut
Membre
Dernière intervention
20 août 2008
-
Messages postés
416
Date d'inscription
vendredi 31 janvier 2003
Statut
Membre
Dernière intervention
19 décembre 2013
-
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

Messages postés
336
Date d'inscription
samedi 9 août 2003
Statut
Membre
Dernière intervention
9 juillet 2011
2
utilise les templates
Messages postés
3
Date d'inscription
vendredi 2 mai 2003
Statut
Membre
Dernière intervention
20 août 2008

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 
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
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.
Messages postés
3
Date d'inscription
vendredi 2 mai 2003
Statut
Membre
Dernière intervention
20 août 2008

Je vais essayer cette méthode, je pense que ça va marcher. Merci pour à tous pour les solutions apportées.
abuob 
Messages postés
416
Date d'inscription
vendredi 31 janvier 2003
Statut
Membre
Dernière intervention
19 décembre 2013
2
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&