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 :

Même nom pour une variable membre et statique


Sujet :

C++

  1. #1
    Membre régulier Avatar de raoulchatigre
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2004
    Messages : 99
    Points : 87
    Points
    87
    Par défaut Même nom pour une variable membre et statique
    Bonjour,

    J'aimerai savoir s'il est possible de donner un même nom pour une variable membre et une variable statique ?

    Mon cas concret est le suivant :
    J'ai un objet "o_Logger" qui me permet de générer des entrées dans un fichier de log (avec log4cpp pour les curieux)
    Cet objet est défini en statique dans chacune de mes classes, ce qui est pratique puisque je peux l'appeler même dans un contexte statique. Seulement maintenant je vais devoir le passer en variable membre dans certaines classes.
    Mon dilemne est le suivant :
    Si je le déplace comme variable membre, je ne pourrai plus l'appeler dans un contexte statique, c'est ballot et ca me dérange.
    Si je crée deux loggers, un statique et un membre nommés différemment, je vais devoir reprendre la majeure partie de mon code et ca deviendra un peu le fouilli...

    D'où mon idée de définir une variable statique qui serait "surchargée" par ma variable membre a l'instanciation de manière a ne pas changer les noms.
    ( le terme "surcharge" ne convient pas du tout je sais, mais vous m'aurez compris )


    Bon... je crois que je rêve la nuit de features magiques moi

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 627
    Points : 30 692
    Points
    30 692
    Par défaut
    Salut,

    Il n'y a pas moyen d'avoir deux variable membres portant le même nom au sein d'une classe unique...

    Par contre, ce que tu peux envisager de faire, c'est de simplement rajouter une méthode qui donne la valeur "correcte" à ta variable statique, sous une forme proche de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void taClasse::setStatic()
    {
        laVariableStatique=laVariableMembre;
    }
    De cette manière, tu pourras garder un code très similaire, et il te "suffira" d'appeler la fonction avant de demander l'écriture dans le log

    Ceci dit, je ne suis pas intimement persuadé que l'utilisation d'une variable statique soit l'idéal pour le logging : ils travaillent généralement sur des instances existantes (ou indiquent simplement que l'instance n'a pas pu être créée, en fournissant les valeurs essayées et la raison de la non création )

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/10/2013, 12h01
  2. Réponses: 2
    Dernier message: 23/11/2011, 11h22
  3. Réponses: 2
    Dernier message: 21/04/2009, 08h16
  4. concatener 2 variables pour definir le nom d'une variable
    Par ~Brouette~ dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 09/12/2008, 15h13
  5. Réponses: 14
    Dernier message: 02/04/2004, 14h33

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