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 :

template class & surcharge de m�thode


Sujet :

C++

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    168
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 168
    Par d�faut template class & surcharge de m�thode
    Bonjour,

    Je cherche � surcharger une m�thode de ma class. Je n'arrive cependant pas � trouver la synthaxe correcte. Voici ce � quoi ma class ressemble :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    template<class T>
    class Test : public T {
    public:
    	Test<T>() {}
    	virtual ~Test<T>() {}
     
    	double f<T>() {return 0.;}
    	double f<Type1>() {return 0.;}
    	double f<Type2>() {return 0.;}
    };
    Une id�e ?

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    D�cembre 2011
    Messages
    1 186
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2011
    Messages : 1 186
    Par d�faut
    Bonsoir,

    Pour qu'il y ait surcharge, il faut que la m�thode f puisse �tre distingu�e de part les param�tre qu'elle re�oit.
    Or dans l'exemple actuel, les 3 fonctions f ne re�oivent pas de param�tre.
    Une des fa�on de faire est de passer un de ces types en param�tre.

    Si Type1 et Type2 ne sont pas des types simples, une fa�on de l'�crire est :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    template<class T, class Type1, class Type2>
    class Test : public T {
        public:
            Test<T,Type1,Type2>() {}
            virtual ~Test<T, Type1, Type2>() {}
     
            double f(T) {return 0.;}
            double f(Type1) {return 0.;}
            double f(Type2) {return 0.;}
    };

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    168
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 168
    Par d�faut
    merci pour ta r�ponse BlueMonkey. J'ai finalement trouv� un moyen de contourner le probl�me en utilisant une class abstraite, ce qui me semble plus �l�gant que la m�thode que j'essayais de mettre au point.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 5
    Dernier message: 06/09/2012, 07h44
  2. [1.x] surcharger la m�thode save() de la classe du mod�le
    Par Mich972 dans le forum Symfony
    R�ponses: 2
    Dernier message: 23/08/2010, 17h26
  3. R�ponses: 19
    Dernier message: 23/12/2009, 19h22
  4. Surcharger les m�thodes d'une class m�re
    Par Djobird dans le forum Langage
    R�ponses: 8
    Dernier message: 06/06/2008, 16h54
  5. Comment surcharger la m�thode OnClose d'un TFrame ?
    Par sdebrois dans le forum Composants VCL
    R�ponses: 2
    Dernier message: 17/01/2005, 20h57

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