IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage C++ Discussion :

un tableau avec plusieurs types


Sujet :

Langage C++

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Points : 59
    Points
    59
    Par défaut un tableau avec plusieurs types
    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.

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 534
    Points : 6 723
    Points
    6 723
    Par défaut
    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

  3. #3
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Points : 59
    Points
    59
    Par défaut
    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.

  4. #4
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 534
    Points : 6 723
    Points
    6 723
    Par défaut
    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

  5. #5
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 627
    Points : 30 692
    Points
    30 692
    Par défaut
    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

  6. #6
    Membre régulier Avatar de thoratou
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 57
    Points : 116
    Points
    116
    Par défaut
    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 ?)

  7. #7
    Membre chevronné
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Points : 1 921
    Points
    1 921
    Par défaut
    si la liste des types stoquable est connue à l'avance, boost::variant sera de meilleur aloi que boost::any

Discussions similaires

  1. Méthode avec plusieurs types de retour
    Par baya1 dans le forum Langage
    Réponses: 14
    Dernier message: 10/03/2022, 00h04
  2. Commande avec plusieurs type de produit
    Par jeffciara dans le forum Schéma
    Réponses: 3
    Dernier message: 06/02/2008, 19h26
  3. Tableau avec plusieurs champs
    Par lido dans le forum Forms
    Réponses: 9
    Dernier message: 04/02/2008, 12h10
  4. "Tableau" avec plusieurs types de variables
    Par izguit dans le forum C++
    Réponses: 4
    Dernier message: 19/07/2007, 11h24
  5. Trier un tableau de plusieurs type de classes.
    Par storm_2000 dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 14/01/2007, 15h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo