begin process at 2012 05 30 18:34:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

template- au secours


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

template- au secours

samedi 21 mai 2005 à 19:00:14 | template- au secours

toddy_101

bonjour tout le monde,
j'ai un probleme au niveau des templates, ca bloke au niveau du linkage!!
voici la declaration de la classe , et des methodes:

template <class t> class pile
{
public:
        pile();
        int pilevide();
        void empiler(t);
        t depiler();
        void afficher();
       /~pile();
       
private:
        struct liste_pile
        {
            liste_pile *next;
            t val;
        };
        liste_pile *sommet;       
};

template <class t> pile <t>::pile()
{
    sommet=NULL;
};
template <class t>
pile <t>::pilevide()
{
    return sommet==NULL;
}
template <class t>
void pile <t>::empiler(t elt)
{
    liste_pile *p;

    p = new liste_pile();
    p->val=elt;
    p->next=sommet;
    sommet=p;
}
template <class t>
t pile <t>::depiler()
{
    liste_pile *p;
    t elt;

    t=sommet->val;
    p=sommet;
    sommet=sommet-Wnext;
    delete p;
}
template <class t>
void pile <t>::afficher()
{
    while(!pilevide())
        cout<<depiler();
}


au niveau du main:

pile <int> p;


merci bcp

samedi 21 mai 2005 à 21:17:02 | Re : template- au secours

bayeto

Membre Club
Et que repond le linker? Tu inclue bien TOUTES les definitions avant ton main?

mayonaise tournera, bientôt, très bientôt...

samedi 21 mai 2005 à 22:29:53 | Re : template- au secours

toddy_101

est c ke j'ai besoin d'inclure une definition pour les templates ? si oui laquelle?
mersi

samedi 21 mai 2005 à 23:34:32 | Re : template- au secours

bayeto

Membre Club
Et bien toutes celles que tu utilises en fait. Il n'y a pas à ma connaissance de codage en dur des templates, il faut inclure toute les definitions lors de la compilation. Le mieux c'est de developper les membres de la classe directement dans celle-ci.

template <class t> class pile
{
public:
   pile() {
      //...
   }
   int pilevide() {
      //...
   }
   void empiler(t) {
      //...
   }
   t depiler() {
      //...
   }
   void afficher() {
      //...
   }
   ~pile(){
      //...
   }
        
//...     
};

mayonaise tournera, bientôt, très bientôt...

dimanche 22 mai 2005 à 09:54:40 | Re : template- au secours

luhtor

Compare avec ce que je te mets la, il y avait plusieurs truc qui allaient pas, dont des erreurs de frappe.

 template <class t> class pile
{
public:
        pile();
        int pilevide();
        void empiler(t);
        t depiler();
        void afficher();
       ~pile() { delete this->sommet; }
      
private:
        struct liste_pile
        {
            liste_pile *next;
            t val;
           
            ~liste_pile() { delete this->next; }
        };
        liste_pile *sommet;      
};

template <class t> pile <t>::pile()
{
    sommet=NULL;
};
template <class t>
int pile <t>::pilevide()
{
    return sommet==NULL;
}
template <class t>
void pile <t>::empiler(t elt)
{
    liste_pile *p;

    p = new liste_pile();
    p->val=elt;
    p->next=sommet;
    sommet=p;
}
template <class t>
t pile <t>::depiler()
{
    liste_pile *p;
    t elt;

    elt=sommet->val;
    p=sommet;
    sommet=sommet-sommet->next;
    delete p;
}
template <class t>
void pile <t>::afficher()
{
    while(!pilevide())
        std::cout<<depiler()<<std::flush;
}


dimanche 22 mai 2005 à 14:05:04 | Re : template- au secours

steve_clamage

Il manque le corps d'assignation (la classe est fuie), des const, et afficher() vide la pile (il vaut mieux faire une surcharge de << sur ostream).


Cette discussion est classée dans : liste, void, template, pile, sommet


Répondre à ce message

Sujets en rapport avec ce message

liste de liste en C++ pour manipuler des graphe [ par sbeclo007 ] bonjour, je suis un debutant en c++,et j'espere que vous m'aider à bien savoir comment implemantté un progm de Prim. la premiere des chose qui me gen Liste de liste pour :graphe et algo de Prim [ par sbeclo007 ] // Liste de sommet class Liste_Sommet :public Liste,public Sommet { public: Liste_Sommet (){} void affiche(); Sommet& Sommet_courant(); void Sommet_pr Problème de chainage dans un tableau dynamique [ par hachure1 ] Voila ce bout de code qui extrait les données d'un graphe dans un fichier et stoke cela dans un tableau dynamique contenant de sommets ou chaque case Les listes chaînées [ par paras00 ] Bonjour ; j'aimerai bien ke vous m'aidez à resoudre une erreur dans mon programme [^^sad1] [code=cpp] #include typedef void* T ; class element { Construction d'une pile avec une structure [ par sheep70400 ] Bonjour à tous,Voilà j'ai un petit problème avec une pile, je dois utiliser une structure :#define TAILLE 10    //taille de notre piletypedef struct{  Liste chainée Template maillon externe [ par Timidouveg ] Bonjour :)Je n'ai pas compris comment fonctionne les template. J'ai cherché des explications sur internet, mais j'avoue que ça m'échappe un peu :sJe s aide pour calcul de formule [ par snakers07 ] bonjour, j'ai crée un programme permettant de calculer une formule utilisant les opérateurs +,-,*,/ avec un controle sur les parenthése:par exemple :( liste chaînée en langage c [ par youssefelmessari ] messieur j'aun un problème concernat la suprresion d'un élement sur la liste chaînée dont voici le doee source void suppression(void)// a r e v o i r héritage & template [ par rolm ] Bonjour, J'aurai besoin d'un peu avec des tempates. En fait je voudrais créer une class qui hérite d'une class template mais d'un type donné. par e


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,201 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales