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

Langage C++ Discussion :

Héritage classe template->classe template


Sujet :

Langage C++

  1. #1
    Membre averti Avatar de zabibof
    Inscrit en
    Février 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 188
    Points : 344
    Points
    344
    Par défaut Héritage classe template->classe template
    Bonjour,
    J'aimerais demander ce qu'il faut faire pour réaliser un héritage de ce type :
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    #include <iostream>
     
    template <class T>
    class A
    {
    public:
        A(T a):_a(a)
        {
        }
    protected:
        T _a;          
    };
     
    template <class T>
    class B:public A
    {
    public:
        B(T b):A<T>(b)
        {
            std::cout<<_a<<std::endl;
        }
    };

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Comme tu l'as très bien vu quand tu as écrit le constructeur, la classe de base n'est pas A mais A<T>.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    template <class T>
    class B : public A<T>

  3. #3
    Membre averti Avatar de zabibof
    Inscrit en
    Février 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 188
    Points : 344
    Points
    344
    Par défaut
    Comme tu l'as très bien vu quand tu as écrit le constructeur, la classe de base n'est pas A mais A<T>.
    Désolé, j'ai oublié ce détail quand j'ai écrit le message mais le problème ne vient pas de là.
    Le problème, c'est que dans la classe B, la variable _a n'est pas reconnu.

  4. #4
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    this->_a

  5. #5
    Membre averti Avatar de zabibof
    Inscrit en
    Février 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 188
    Points : 344
    Points
    344
    Par défaut
    Ah oui!

  6. #6
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    La plupart de temps, même si ce n'est qu'un exemple, évite au maximum de donner des noms identiques dans ces cas là.

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

Discussions similaires

  1. Templates de classes imbriquées et héritage
    Par progcyb dans le forum Langage
    Réponses: 0
    Dernier message: 18/11/2014, 21h54
  2. Réponses: 19
    Dernier message: 14/02/2012, 13h57
  3. class pour table + class pour td = class td non fonctionnelle ?
    Par supergrey dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 28/05/2009, 08h13
  4. template dans un template de classe
    Par Bob.Killer dans le forum Langage
    Réponses: 1
    Dernier message: 18/12/2007, 15h44
  5. Template et classe "amie" ?
    Par tintin72 dans le forum Langage
    Réponses: 21
    Dernier message: 11/07/2006, 22h50

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