Bonjour,
y a t il un equivalent de type "Object" de JAVA en C++, par ce que je veux creer un tableau dont chaque case est de type different,
Merci d avance.
Bonjour,
y a t il un equivalent de type "Object" de JAVA en C++, par ce que je veux creer un tableau dont chaque case est de type different,
Merci d avance.
Bonjour,
Il vous suffit de définir un sur-type (une classe abstraite) des types que vous voulez utilisez et de dire que votre tableau contient de pointeurs vers ce sur-type. Et rien ne vous empèche de nommer cette sur-classe Object![]()
Bonjour,
Merci pour la reponse mais ce que je veux faire c'est creer un tableau de plusieurs types de base par exemple un tableau dont la 1ere case "int", la 2eme "float", la 3eme "string", la 4eme "classe" ...etc,
Merci d avance et desolé pour le derangement.
dans ce cas deux possibilités:
- vous passez toujours pas une classe intermédiaire héritant d'Object, par exemple pour un int une classe Integer avec un attribut de type int, etc, c'est à dire finalement quelque chose d'équivalent à ce que fait Java
- ou vous définissez une classe conteneur contenant une union permettant de mémoriser les différents types de valeurs possibles, et un attribut discriminant vous permettant de savoir quel est le type de la valeur. Au final quelque chose équivalent aux unions d'IDL
Salut,
Ceci dit, il faut bien comprendre qu'il est fondamentalement incorrect de vouloir faire cohabiter strictement tout et n'importe quoi...
Lorsque tu crées une collection, tu la crée en fonction de certaines caractéristiques: tout ce qui peut être considéré comme un véhicule d'un coté, tout ce qui peut être considéré comme un arbre de l'autre, tout ce qui peut être considéré comme... va savoir...
En effet, même si tu te dis que "tout est objet" (un peu à la manière de ce que fait java) tu te retrouve confronté au problème que, tout ce que tu pourra faire au départ de ta collection d'objet, c'est de tout considérer comme étant... un objet.
Or, tu attendra fatalement des services différents d'un animal, d'un véhicule, d'un outil ou d'un arbre.
Au final, soit tu aura une interface "minimaliste" pour ton objet, et ta collection d'objet est inutilisable en tant que tel, ou bien tu crées une interface plus importante pour celui-ci, et tu en viendra à permettre de démarrer à un arbre... Ce qui n'a pas vraiment de sens![]()
Sinon regarde du cote de boost::any
Mais comme les autres l'ont dit plus haut, ca n'a pas de sens de mettre n'importe quoi dans ton tableau (probleme de conception ?)
si la liste des types stoquable est connue à l'avance, boost::variant sera de meilleur aloi que boost::any
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager