Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
813 connectés 

  FORUM HardWare.fr
  Programmation

  problème insoluble ... (en tout cas pour moi ;))

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème insoluble ... (en tout cas pour moi ;))

n°38269
freewol
Ceci n'est pas une citation
Posté le 08-06-2001 à 19:27:12  profilanswer
 

Voila ce que je voudrais faire (et qui me semble impossible, m'enfin j'espere bien me tromper) :
déjà la classe CElement, qui contient entre autre un pointeur vers un autre CElement (classique ;))
on a également une classe CList, qui contient plusieurs pointeurs vers des CElement, ainsi que des fonctions qui prennent en param, ou bien retournent, un CElement.
Et ensuite il faudrait qu'on puisse créer une class par ex CTrucList, qui fasse exactement la même chose que CList, mais avec tous les CElement remplacés par des CTruc, classe dérvivée de CElement ...
Alors voila au départ ce problème me semblait tt con avec des templates, mais après plusieurs heures d'essais, je commence à craindre que cela ne soit impossible ...  
Alors j'espere que je suis un gros mauvais et qu'effectivement c'est simple à faire, mais dites moi comment ! ;)
Au fait, si j'ai pas été assez clair (ce qui est à craindre vu les problèmes que j'ai à résoudre ce problème), demandez !

mood
Publicité
Posté le 08-06-2001 à 19:27:12  profilanswer
 

n°38285
janoscoder
Posté le 08-06-2001 à 20:39:34  profilanswer
 

tout d'abord pour info, le préfixe Cmachin est utilisé assez largement par la MFC, donc gaffe.
Puis, si tu fais cette liste autrement pour que t'entrainer à programmer, jette un oeil aux listes de la STL (#include <list> )
Ca rend moins naïf.
Ensuite, si tu veux vraiment faire ta liste toi même, y'a pas besoin de faire de type dérivé. Si tu veux faire une liste chainée, il faut créer des noeuds qui se chargent de pointer vers des éléments d'un certain type.
 
template <typename T>
Node
{
 T elem;
 Node<T> * next, * prev;
public:
 Node(const T & telem, Node<T> * ptrev, Node<T> * tnext):elem(telem), prev(tprev), next(tnext){}
 T& operator * (){return elem;}
 const T & operator * () const {return elem;}
};
 
template <typename T>
class List
{
 Node<T> * first, * last;
public:
 ...
};
 
enfin j'ai pas envie d'en écrire plus, mais ça ressemble déjà à  une liste chainée.
 
Si tu veux plus d'info, ou si tu veux limiter l'usage de ces listes à des types dérivés d'un certain type T, n'hésite pas à poster.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  problème insoluble ... (en tout cas pour moi ;))

 

Sujets relatifs
[C++] Problème avec le chargement des données d'un fichierProbleme sur mon site?
probleme de dimensionnement de tableauxprobleme de script en Flash
[PHP]Problême avec les IDprobleme de prog en c
[C++] Sockets : Problème serveurprobleme de javascript sur ma page web
[phpBB]Probleme de connection[C++] Sockets : Problème de client
Plus de sujets relatifs à : problème insoluble ... (en tout cas pour moi ;))


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR