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 :

Classes amies et héritage simple


Sujet :

C++

  1. #1
    Membre éclairé Avatar de nicolas66
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 326
    Par défaut Classes amies et héritage simple
    Bonjour,

    Je rencontre un petit souci : je n'arrive pas à donner une relation d'amitié à une classe héritant d'une autre classe. Voici le code :

    Code : 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
    24
    25
    26
    27
    28
    29
    30
    31
     
    template<typename T> class A
    {
         public :
        A()
        {
            T();
        }
    };
     
    template<typename T> class B : public A<T>
    {
         public :
        B(){}
    };
     
    class C
    {
        // Problème ici : comment donner l'amitié à A<C> à partir d'ici ?
        friend class B<C>::A<C>; // Mauvaise syntaxe
     
        private :
        C(){}
        ~C(){}
     
        public :
        static B<C> * Create()
        {
            return new B<C>;
        }
    };
    En fait, je pourrai très bien me débrouiller sans mais j'aimerai rendre le constructeur / destructeur de C privés pour forcer le développer à renvoyer un pointeur sur C. Quelqu'un pourrait-il me dire si c'est possible et si oui comment faire ? Merci d'avance


    Nico.

  2. #2
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Ce code compile chez moi sous Visual 2005.

    Par contre, un
    suffit car dans ton exemple c'est A qui doit avoir la relation d'amitié.

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/04/2010, 09h42
  2. [Classes Amies] Exemple simple
    Par Nanoc dans le forum C++
    Réponses: 7
    Dernier message: 25/06/2008, 14h29
  3. [Héritage] Déclaration d'une classe amie
    Par nihlstroem dans le forum Delphi
    Réponses: 3
    Dernier message: 11/08/2006, 16h57
  4. [debutant] Les classes amies
    Par kiroukou dans le forum Débuter
    Réponses: 14
    Dernier message: 04/02/2005, 13h50
  5. Les classes amies en Delphi
    Par Bruno75 dans le forum Langage
    Réponses: 3
    Dernier message: 02/09/2003, 19h34

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