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

Qt Creator Discussion :

Implémenter une méthode d'une classe template dans le fichier cpp


Sujet :

Qt Creator

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 28
    Points : 39
    Points
    39
    Par défaut Implémenter une méthode d'une classe template dans le fichier cpp
    Bonjour

    J'ai déclaré une classe template.
    maClasse.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #ifndef MACLASSE_H
    #define MACLASSE_H
     
    template <class T> class MaClasse
    {
    private:
        T value;
    public:
        MaClasse(){
        }
    };
     
    #endif // MACLASSE_H
    Le fichier cpp est vide. Cela compile.
    Maintenant, je désire déplacer l'implémentation du constructeur vers le fichier cpp.

    MaClasse.h devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #ifndef MACLASSE_H
    #define MACLASSE_H
     
    template <class T> class MaClasse
    {
    private:
        T value;
    public:
        MaClasse();
    };
     
    #endif // MACLASSE_H
    Je ne trouve pas la bonne syntaxe pour l'implémentation. Voilà la dernière
    tentative infructueuse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include "maclasse.h"
     
     
     
    template <class T> class MaClasse<T>::MaClasse(){
     
    }
    Une idée ?

    Merci
    Henri

  2. #2
    Membre habitué
    Avatar de bobti89
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 86
    Points : 150
    Points
    150
    Par défaut
    Ce n'est tout simplement pas possible. Tu es obligé de déclarer et d'implémenter dans le .h

    Regarde : http://cpp.developpez.com/faq/cpp/?p...VERS_templates
    bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 28
    Points : 39
    Points
    39
    Par défaut
    ok, merci bob (désolé, j'ai écrit à l'envers...)

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

Discussions similaires

  1. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  2. Accès à une méthode d'une form depuis une autre autre form
    Par arngrimur dans le forum Windows Forms
    Réponses: 16
    Dernier message: 13/01/2012, 15h45
  3. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  4. Réponses: 0
    Dernier message: 30/09/2009, 18h42
  5. Réponses: 6
    Dernier message: 20/04/2007, 15h24

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