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 :

[débutant] Syntaxe d'une constante de classe


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 40
    Par défaut [débutant] Syntaxe d'une constante de classe
    Bonjour,
    j'ai créer une constante de classe appelée "ZERO". Cependant dans mon programme client si je ne veut aps avoir avoir une erreur, je dois l'écrire "ClasseTest::ZERO". j'aimerais n'avoir qu'a écrire "ZERO" quelqu'un aurais une solution ?

    Merci d'avance

  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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Si tu ne veux pas que ZERO appartienne à la classe ClasseTest alors ne le définis pas dans la classe ClasseTest...

  3. #3
    Membre averti
    Inscrit en
    Février 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 22
    Par défaut
    Et si elle doit bien rester dans ClasseTest tu es obligé (pour moi) de mettre ClasseTest::ZERO.

    D'une part C++ autorise d'avec une nom de variable identique dans des classes différente. Donc si tu as ClassTest::ZERO et ClassTest2::ZERO si tu mes uniquement ZERO il saura pas qui appeler.

    Et enfin c'est plus propre... La tu te rappelle de ton code mais dans 3mois si tu le relis ZERO tu sauras pas d'où il vient.

    La je te parle de connaissance de cause

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 40
    Par défaut
    En fait dans le programme client il y a aucune constante ZERO, la seule qu'il devrais en théorie avoir c'est celle de la constante de classe ClasseTest.
    Or quand par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ...
    ClasseTest var;
     
    var = ZERO ;                  // erreur ZERO was not defined in this scope
    var = ClasseTest::ZERO;  //correct
    ...
    Je voulais surtout savoir si il n'y avait pas un subterfuge pour pouvoir utiliser ZERO en utilisant la syntaxe du cas qui génère une erreur.

    J'aurais cru pouvoir le faire, mais bon c'est pas grave.

  5. #5
    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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Mais pourquoi diable définis-tu ZERO dans la portée de ClassTest si tu veux y accéder de manière globale ? Définis juste ZERO dans le scope global, et tu pourras l'avoir.. dans le scope global.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 40
    Par défaut
    C'est vrai, mais je préférerais que les N utilisateurs de ma bibliothèque n'aient pas à redéfinir cette constante. Sinon pour ma part, j'ai redéfini dans mon fichier client une constante ZERO initialisée à ClasseTest::ZERO.

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

Discussions similaires

  1. [WD17] Indirection sur une constante de classe
    Par cladoo dans le forum WinDev
    Réponses: 10
    Dernier message: 25/05/2016, 10h16
  2. [2.x] [Twig] Récupérer une constante de classe
    Par bilbi dans le forum Symfony
    Réponses: 6
    Dernier message: 14/08/2012, 09h40
  3. Réponses: 10
    Dernier message: 11/06/2010, 08h34
  4. [Syntaxe] Définir une constante
    Par belukrin dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/09/2006, 16h26
  5. Syntaxe d'une constante
    Par lodan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 02/08/2006, 15h01

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