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 :

[Namespace] Incompréhension avec un classe abstraite


Sujet :

C++

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [Namespace] Incompréhension avec un classe abstraite
    Bonsoir

    Voilà, j'ai quelques doutes sur ma compréhension des namespace.
    En effet, j'ai dans mon projet une classe abstraite Personnage. Celle-ci décrit des méthodes communes à ses filles, à savoir Guerrier, Sorcier...

    Pour facilier la compréhension du code, et pour ne pas bloquer les noms de méthodes dans l'ensemble du programme, j'ai voulu créé un classement à l'aide des espaces de nom.

    J'ai donc, dans un premier temps, mis ma classe Personnage dans un namespace Personnage.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    namespace Personnage {
    class Personnage
    { ... };
     
    } // FIN namespace
    Donc une première question : cela ne risque-t-il pas de poser certains problèmes lors du développement, étant donné que l'espace de nom possède le même nom que la classe ?



    Ensuite, j'ai fais comme suit au classes filles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    namespace Personnage {
       namespace Classe {
     
    class Guerrier : public Personnage
    { ... };
     
       } // FIN GUERRIER
    } // FIN namespace

    Donc, pour déclarer un guerrier, je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Personnage::Classe::Guerrier warrior;
    Ce code fonctionne.
    Seulement, je pensais que je n'étais pas obligé de créer l'espace de nom Personnage, étant donné que je déclare une classe du même nom.
    Donc je croyais que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Personnage::Guerrier warrior; //(sans l'espace de nom Classe)
    ou
    Personnage::Classe::Guerrier warrior; // (avec l'espace de nom Classe)
    fonctionnaient tout aussi bien.

    Mais je me rend compte que ce n'est pas le cas. La compilation échouant.
    Pour ma part, je présume que ça vient du fait que la classe Personnage est abstraite (donc non instanciable).



    Si certains peuvent éclaircir ma petite lanterne, je suis tout ouïe
    Dernière modification par Invité ; 26/03/2009 à 09h43.

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

Discussions similaires

  1. [2.x] Relation 1n avec des class abstraites
    Par pou4ever dans le forum Symfony
    Réponses: 0
    Dernier message: 16/01/2014, 11h58
  2. probleme Avec les classes Abstraites
    Par thibaultc dans le forum C++/CLI
    Réponses: 3
    Dernier message: 02/12/2013, 10h58
  3. JFace Databinding avec une classe abstraite
    Par anthony.pa dans le forum SWT/JFace
    Réponses: 0
    Dernier message: 03/09/2013, 17h01
  4. problème avec les classes abstraite avec C#
    Par takfa2008 dans le forum C#
    Réponses: 1
    Dernier message: 29/06/2009, 10h25
  5. Problème d'héritage avec une classe abstraite
    Par Ph.denis dans le forum C++
    Réponses: 7
    Dernier message: 22/03/2008, 10h37

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