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

MFC Discussion :

Un tableau de listes ?


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 68
    Par défaut Un tableau de listes ?
    Bonjour,

    Je voulais savoir s'il était possible de stocker des listes dans un tableau.
    Voila le type de liste que je voudrais stocker :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CTypedPtrList<CObList, CElement*> m_ElementList;
    J'aimerais stocker plusieurs listes de ce type pour pouvoir les recharger utlérierement.

    Merci.

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    oui c'est possible ,ta ligne de code ne nous renseigne pas trop sur la nature des éléments en jeux...
    moi j'utiliserai un CArray pour le tableau et une CList pour la liste.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 236
    Par défaut
    La classe CArray permet-elle d'ajouter autant d'element que l'utilisateur le souhaite? En gros a-t-on besoin d'allouer une taille precise pour le CArray ou alors il gere cela tout seul comme un grand?

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    la classe Carray ne gère que le type déclaré dans le template.
    elle gère sa taille toute seule , c'est l'intérêt ....

    c'est le même principe que le template vector de la stl.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 236
    Par défaut
    D'accord ca m'arange car je cherchais un equivalent des vector sur Visual.Merci

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 236
    Par défaut
    J'ai donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CArray<CTypedPtrList<CObList, CElement*>> m_ElementList_TempsJeu;
    c'est a dire un tableau de liste d'element

    J'ai une petite fonction qui ajoute a la suite de l'array une "case" qui est egale à l'avant derniere.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void CUTrainDoc::AjouterTempsJeu(int nb)
    {
    	m_ElementList_TempsJeu.Add(m_ElementList_TempsJeu.ElementAt(nb-1));
    }
    qui me donne cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'CObject::operator =' : cannot access private member declared in class 'CObject'

  7. #7
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 539
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 539
    Par défaut
    Citation Envoyé par shub
    D'accord ca m'arange car je cherchais un equivalent des vector sur Visual.Merci
    std::vector <=>CArray et CObArray et std::list<=>CList et CObList.
    Mais tu peux parfaitement utiliser les conteneurs de la STL dans un projet MFC...
    ceci dit c'est un peu bête de mélanger les 2
    Et voici l'erreur :
    Oui il faut faire hériter la classe de CObject c'est indiqué dans le MSDN , comme le dit Farscape.

    class CElement : public CObject { };

Discussions similaires

  1. [C# .NET2] tableau de List<T>
    Par gdkenny dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/04/2006, 09h10
  2. Réponses: 3
    Dernier message: 24/04/2006, 19h56
  3. [Tableaux] tableau vers liste deroulane
    Par flydragon dans le forum Langage
    Réponses: 5
    Dernier message: 12/04/2006, 16h11
  4. Pb tableau de listes chainées
    Par Beush dans le forum C
    Réponses: 4
    Dernier message: 24/11/2005, 15h43
  5. declaration d'un tableau de listes
    Par flah06 dans le forum C++
    Réponses: 1
    Dernier message: 15/11/2005, 18h16

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