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

 C++ Discussion :

liste chaînée d'objets de différentes classes


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 183
    Par défaut liste chaînée d'objets de différentes classes
    Bonjour/Bonsoir
    Je voudrais implémenter une liste linéaire chainée composée d'objets de différentes classes , je sais que c'est le même principe q'une liste linéaire simple mais il devrait y avoir un petit changement quand même pour pouvoir regrouper tous les objets ??

  2. #2
    Membre expérimenté Avatar de Rewpparo
    Homme Profil pro
    Amateur
    Inscrit en
    Décembre 2005
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 170
    Par défaut
    Il n'y a aucun moyen propre en c++ de faire des listes d'objets de types différents. Contourner cette limitation est une question de design de ton programme.

    Deux solutions communes à ton problème :
    -Si tu connais exactement à l'avance le nombre et le type d'objets, c'est une classe que tu veux faire, pas une liste.
    -Si tu ne connais pas le nombre ni les types, alors il faut avoir une classe de base, tous les objets que tu mets dedans doivent dériver de ce type. Tu utilises l'interface virtuelle de la classe de base pour faire les opérations sur tes objets.

  3. #3
    Membre très actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 183
    Par défaut
    Citation Envoyé par Rewpparo Voir le message
    Il n'y a aucun moyen propre en c++ de faire des listes d'objets de types différents. Contourner cette limitation est une question de design de ton programme.

    Deux solutions communes à ton problème :
    -Si tu connais exactement à l'avance le nombre et le type d'objets, c'est une classe que tu veux faire, pas une liste.
    -Si tu ne connais pas le nombre ni les types, alors il faut avoir une classe de base, tous les objets que tu mets dedans doivent dériver de ce type. Tu utilises l'interface virtuelle de la classe de base pour faire les opérations sur tes objets.
    Les types des objets sont connus mais pas le nombre d'objets , sinon ma question est de savoir le principer comment pourvoir mettre tous ces objets de classes differentes dans une même liste ?

  4. #4
    Membre expérimenté Avatar de Rewpparo
    Homme Profil pro
    Amateur
    Inscrit en
    Décembre 2005
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 170
    Par défaut
    C'est ma solution n°2 le principe qu'il te faut.
    Si tu mets tous ces objets hétéroclites dans une liste, c'est que tu as une opération a faire dessus, la même pour tous, mais que la réponse de ces objets est différente suivant les cas.
    Isoles une interface qui permet d'effectuer ces opérations dans une classe avec des méthodes virtuelles. Ta liste est une liste de pointeurs vers ce type de base. Quand tu rajoutes un objet dans la liste, son type doit dériver de ton interface et implémenter ses propres opérations derrière les méthodes virtuelles.
    Quand tu parcours la liste, tu appelles les méthodes virtuelles, le type derrière est transparent pour le code qui parcours la liste, mais les bonnes opérations sont appliquées.
    C'est le polymorphisme

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation d'un objet dans différentes classes
    Par snyler dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 29/10/2014, 11h09
  2. [Turbo Pascal] Unité Lists : Gestion de listes chaînées d'objets quelconques
    Par Eric Sigoillot dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 07/04/2014, 20h18
  3. Liste déroulante avec objet différent en VBA
    Par béber_novice dans le forum Général VBA
    Réponses: 1
    Dernier message: 16/04/2012, 20h07
  4. list d'objet dans une classe
    Par wadcyr8_197 dans le forum C++
    Réponses: 10
    Dernier message: 04/07/2007, 15h34
  5. Coder une liste chaînée d'objets.
    Par Jean_Benoit dans le forum C++
    Réponses: 5
    Dernier message: 18/10/2006, 21h29

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