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 :

Constante, et partage entre classes.


Sujet :

C++

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Constante, et partage entre classes.
    Bonjour a tous !

    Alors alors ma question est assez simple, je cree une constante dans la classe FDL de la sorte
    const int NUMBER_FDL = 8;
    qui est pour l instant dans le .cpp

    et j aimerais bien pouvoir utiliser cette constante lorsque je cree une instance de la classe FDL, du genre :

    FDL fdl();
    et pouvoir faire ca :
    fdl.NUMBER_FDL;

    et je recois l erreur :

    Scheduler.cpp:33: error: ‘class FiberDelayLine’ has no member named ‘NUMBER_FDL’


    Merci beaucoup d avance

    Shino

  2. #2
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    Dans le .h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class FDL
    {
    ...
    public:
        static const int NUMBER_FDL=8;
    }
    Comme c'est un int, tu as le droit de le déclarer et de le définir directement dans le .h. Pour les autres types, tu devrais le déclarer dans le .h, et le définir dans le .cpp de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const int FDL::NUMBER_FDL = 8;
    Ensuite, tu peux l'utiliser :

    Si c'est une constante, je recommande en effet d'en faire une variable statique : elle sera partagée par toutes les instances de l'objet et n'alourdira donc pas celui-ci.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 188
    Points : 248
    Points
    248
    Par défaut
    Bonjour,
    Citation Envoyé par SHINOOOO Voir le message
    FDL fdl();
    et pouvoir faire ca :
    fdl.NUMBER_FDL;
    sa ressemblerai plutôt à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // .h
    class FDL
    {
    ...
    public:
        const int NUMBER_FDL;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    // .cpp
    FDL::FDL() : NUMBER_FDL(8)
    {
        ...
    }
    EDIT:
    Citation Envoyé par white_tentacle Voir le message
    Si c'est une constante, je recommande en effet d'en faire une variable statique : elle sera partagée par toutes les instances de l'objet et n'alourdira donc pas celui-ci.
    oui du coup si ta constante ne dépend pas de l'objet et est toujours égale a 8 c'est plus intéressant de la mettre static

  4. #4
    Futur Membre du Club
    Inscrit en
    Mars 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup a vous 2, c est bon maintenant ca marche


  5. #5
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    Citation Envoyé par SHINOOOO Voir le message
    FDL fdl();
    F.A.Q. : Y a-t-il une différence quelconque entre MaClasse x; et MaClasse x(); ?

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

Discussions similaires

  1. objet partagé entre plusieurs classes
    Par grinder59 dans le forum C#
    Réponses: 16
    Dernier message: 13/05/2010, 16h07
  2. Partage de classe entre projets
    Par chris81 dans le forum Framework .NET
    Réponses: 7
    Dernier message: 17/12/2007, 09h22
  3. partager un objet entre classes
    Par kirua2150 dans le forum Access
    Réponses: 5
    Dernier message: 26/01/2007, 11h33
  4. Réponses: 12
    Dernier message: 14/08/2006, 12h55
  5. Réponses: 3
    Dernier message: 05/07/2006, 11h59

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