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 chainee + templates


Sujet :

C++

  1. #1
    Membre émérite Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Par défaut liste chainee + templates
    bonjour,
    dans un exercice je dois creer une liste chainée d'une classe (acteurs)
    les classes que j'ai créé sont les suivantes :

    liste - element - acteurs - listacteurs

    mon probleme est que je bloque au niveau de la classe listacteurs. Pourriez vous m'aider ou m'orienter... (je ne sais pas exactement comment implementer les membres de la classe) (toutes les classes sont ecrites sauf la classe listacteurs, le .h est deja ecrit)
    j'ai vraiment besoin de votre aide, s'il vous plait

    Code :
    liste.h
    liste.cpp
    element.h
    acteurs.h
    acteurs.cpp
    listacteurs.h
    listacteurs.cpp


    merci bcp.
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  2. #2
    Membre émérite Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Par défaut
    personne pour m'aider ?
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  3. #3
    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,
    comme ton sujet est plutot orienté C++ ,je le deplace sur le forum.

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Ton design de liste chaînée à base de void* n'est pas la meilleure solution, tu vas avoir beaucoup de problèmes de types (delete sur un void*, ce n'est pas bon) et beaucoup de casts bourrins.

    Si tu peux, tu devrais plutôt utiliser les templates pour en faire une classe générique. Tu peux aussi farofuiller un peu sur ce forum, il y a quelques sujets qui parlent de quoi faire et ne pas faire pour avoir une bonne liste chaînée.

  5. #5
    Membre émérite Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Par défaut
    Bonsoir,

    merci pour la reponse

    c'est un projet que je presente à l'oral. Sur notre cours, il y a des annales et sur quelques sujets, j'ai trouvé en annexe, l'en tete de la classe list et element (a savoir liste.h et element.h)
    Notre prof veut que la liste soit comme ca et que la liste des acteurs, par exemple, soit geree de cette maniere.
    Pour void, c'est ce qu'il y a sur l'annexe proposée par la prof... donc... ?

    merci.

    P.S. : j'ai cherché dans le forum, mais c'est toujours des cas (très ?) particuliers... sur lme web aussi, j'ai pas trouvé de liste chainée qui puisse gerer une classe "listacteurs" (dans mon cas)
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Notre prof veut que la liste soit comme ca et que la liste des acteurs, par exemple, soit geree de cette maniere.
    Pour void, c'est ce qu'il y a sur l'annexe proposée par la prof... donc... ?
    Malheureusement, ce que veulent les profs se rapproche presque toujours de ce qu'on peut faire de plus moche . Une fois sorti de l'école, la première chose que tu feras ce sera "désapprendre" à coder de cette manière. Mais bon, bref.

    Pour ce qui est de ta question initiale, tu peux préciser sur quoi tu butes ? A priori tu devrais plutôt utiliser un héritage privé. Une listeacteur ne sera pas une liste, dans le sens où tu ne pourras pas reprendre l'intégralité de l'interface de cette dernière. Etant donné que l'intêret de listeacteurs est de refournir un semblant de typage en surcouche à liste, l'héritage privé me semble le plus approprié.

    P.S. : j'ai cherché dans le forum, mais c'est toujours des cas (très ?) particuliers... sur lme web aussi, j'ai pas trouvé de liste chainée qui puisse gerer une classe "listacteurs" (dans mon cas)
    Peut-être que c'est parti au délestage. En tout cas, on voit de temps en temps défiler des implémentations de listes chaînées, aggrémentées de pas mal de corrections et suggestions d'ordre générales.

  7. #7
    Membre émérite Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Par défaut
    Citation Envoyé par Loulou24
    tu peux préciser sur quoi tu butes ?
    sur quoi mettre dans les fonctions membres de listacteurs. Mais je crois qu'elle doivent ressembler a celles de la classe "liste"...

    Citation Envoyé par Loulou24
    A priori tu devrais plutôt utiliser un héritage privé. Une listeacteur ne sera pas une liste, dans le sens où tu ne pourras pas reprendre l'intégralité de l'interface de cette dernière. Etant donné que l'intêret de listeacteurs est de refournir un semblant de typage en surcouche à liste, l'héritage privé me semble le plus approprié.
    OK. pour pouvoir en fait, avoir qu'une copie de listacteurs par liste.
    Mais, si je dois mettre d'autres classe "listclasse" (exemple : "listvideos.h .cpp") pourrais je faire heriter list en private dans "listclasse" ? je crois que oui...

    merci bcp
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  8. #8
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Ton approche est une approche C:
    http://chgi.developpez.com/pile/
    En C++, on a des mécanismes (templates) qui permettent de s'affranchir de void*. On a aussi déjà un type liste chainee (std::list).
    http://c.developpez.com/faq/cpp/?page=templates

  9. #9
    Membre émérite Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Par défaut
    Citation Envoyé par Aurelien.Regat-Barrel
    On a aussi déjà un type liste chainee (std::list)
    justement, je ne dois pas utiliser std::list, je dois creer la liste moi meme. c'est dans un but pédagogique. C'est un projet que je presente à l'oral et non un projet en entreprise.
    merci quand meme.
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  10. #10
    Membre émérite Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Par défaut
    Utilisation des templates :

    liste.h
    liste.cpp
    element.h


    il me reste la classe "listacteurs"...
    dois-je mettre les templates dans cette classe aussi ?
    ou simplement gerer la "liste" sans template ? (du fait de l'heritage)

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //CONSTRUCTEUR DE "listacteur"
    listacteurs() : liste(){}
    et le compilateur me dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listacteurs.h(11) : error C2512: 'liste' : no appropriate default constructor available
    une autre question : si j'utilise les templates, c'est pas la peine que je mette la classe "listacteurs" ... ?

    merci pour l'aide
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  11. #11
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    une autre question : si j'utilise les templates, c'est pas la peine que je mette la classe "listacteurs" ... ?
    T'as tout compris

  12. #12
    Membre émérite Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Par défaut
    re... et merci beaucoup pour les reponses (j'ai fais des progres )

    voila ce que ma prof propose... :
    Element.h
    Liste.cpp
    Liste.h
    ListeClients.cpp
    ListClients.h

    c'est vrai que "listclients" est bien faite
    mais bon :
    Citation Envoyé par Aurelien.Regat-Barrel
    Ton approche est une approche C:
    et avec les templates, ca evite de creer des classes supplémentaires et d'avoir des void...

    merci en tous cas
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

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

Discussions similaires

  1. Liste chainee template
    Par flipper203 dans le forum Langage
    Réponses: 1
    Dernier message: 29/08/2006, 16h10
  2. [LG]Listes chainées avec pointeur
    Par PaowZ dans le forum Langage
    Réponses: 2
    Dernier message: 17/02/2004, 19h49
  3. [LG]liste chainee + pointeur + affichage
    Par k_ro dans le forum Langage
    Réponses: 6
    Dernier message: 17/01/2004, 13h58
  4. [LG]Tri par insertion dans une liste chainée
    Par mister_dsg dans le forum Langage
    Réponses: 4
    Dernier message: 18/12/2003, 22h34
  5. [LG]suppression dans une liste chainée
    Par mister_dsg dans le forum Langage
    Réponses: 9
    Dernier message: 16/12/2003, 21h20

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