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

  FORUM HardWare.fr
  Programmation
  C++

  [C++]Héritage de templates, g++ aime pas :(

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++]Héritage de templates, g++ aime pas :(

n°1122638
aster
Chaotic Neutral
Posté le 17-06-2005 à 00:59:52  profilanswer
 

Salut a tous.
J'essaye desesperement d'hériter d'un template pour faire un autre template, mais la mayonnaise ne prend pas. Toutes les reférences à la classe mère sont notifiées inconues! :(
 
Apres recherche sur google et le forum, tout ce que j'ai trouvé à faire, c'est remplacer <class T> par <typename T>...  
 
Un ptit bout de code vaut mieux qu'un long discours alors voila, je m'en remet à votre grande expérience de la prise de tete 1 semaine avant la date limite!! :whistle:  
 

Code :
  1. template<typename T>
  2. class element
  3. {
  4. public:
  5. T val;
  6. element<T> *suc;
  7. element(const T &x, element<T> *l)
  8. };


Code :
  1. template<typename T>
  2. class Gliste
  3. {
  4.     protected:
  5.         element<T> * debut;
  6.     public:
  7.         Gliste();
  8. };


Jusque la tout va bien.

Code :
  1. template<typename T>
  2. class listeinter:public Gliste<T>
  3. {
  4.       public:
  5. listeinter();
  6. double Taille();
  7. bool Appartient(const T & x);
  8. };
  9. template<typename T>
  10. double TailleEl(element<T> *p)
  11. {
  12.    if (p==NULL) return 0;
  13.    else return Taille(p->suc)+1;       
  14. }
  15. template<typename T>
  16. listeinter<T>::listeinter()
  17. {
  18. Gliste<T>::Gliste();
  19. }
  20. template<typename T>
  21. double listeinter<T>::Taille()
  22. {
  23.    return TailleEl(debut);
  24. }


Et donc tout ce que je fait dans ma classe listeinter ca foire... :sweat:
Il ne reconnait ni le constructeur Gliste() ni la propriété debut.  
 
J'ai déja allumé un cierge mais si quelqu'un avait un miracle en stock, je suis preneur.
 
Ah oui, je compile sous Linux mais ca marchait sous DevCpp... :pt1cable:  
 
Merci

mood
Publicité
Posté le 17-06-2005 à 00:59:52  profilanswer
 

n°1122682
Taz
bisounours-codeur
Posté le 17-06-2005 à 07:53:29  profilanswer
 

1) il manque des ; et NULL n'est pas défini
2) il faut utiliser this-> sinon la recherche de nom échoue. this->début
3) listeinter<T>::listeinter() : on est pas en java ou autre, c'est pas comme ça qu'on appelle le constructeur de la classe parente
4) utilise un size_t pour tes fonctions membres taille()

n°1123637
aster
Chaotic Neutral
Posté le 17-06-2005 à 20:00:20  profilanswer
 

Merci pour cette leçon de programmation! :D


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

  [C++]Héritage de templates, g++ aime pas :(

 

Sujets relatifs
HéritageHistoire d'heritage.
Héritage multiple ?[C# .NET] Classes, héritage, 3D
héritage de classehéritage multiple
Héritage - JBuilder 9template iterator héritage, OK pour visual, Erreurs avec Gcc
héritage : ajouter et supprimer des objetsclasse abstraite generique + heritage
Plus de sujets relatifs à : [C++]Héritage de templates, g++ aime pas :(


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