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 :

un seul "get" pour différent booléen


Sujet :

C++

  1. #1
    Membre confirmé Avatar de shams
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 210
    Par défaut un seul "get" pour différent booléen
    bonjour,

    j'ai plusieurs booléen dont je souhaite connaitre l'état. disons par exemplen'etant pas spécialiste du C++, je me demandais s'il était possible de creer une fonction du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bool getState (le_nom_de_la_variable) { return la_variable_qui_correspond; }
    ce qui évite d'avoir plein de fonction du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    bool getX() { return x ;}
    bool getY() { return y; }
    Merci d'avance!!

  2. #2
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut
    Et si tu les métaient dans une structure/classe publique et que ta fonction renvoyait cette structure?
    Car les retours de multiples variables n'est pas possible en C++.
    Ma technique donne un truc du genre:
    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
     
     
    class B{
    public:
     bool x,y,z;
    };
     
    class A
    {
     B b;
    public:
     const B& GetState(void) const
    { return b;
    }
    };
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  3. #3
    Membre confirmé Avatar de shams
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 210
    Par défaut
    Citation Envoyé par Davidbrcz Voir le message
    Et si tu les métaient dans une structure/classe ?
    Humm... oui... heu.... pourquoi pas... mais... tu pourrais préciser un peu, parce en fait je vois pas trop la
    désolé!

  4. #4
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut
    J'ai édité mon message
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  5. #5
    Membre confirmé Avatar de shams
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 210
    Par défaut
    ok je crois que j'ai pigé. Merci bien, ca a l'air pas mal cette solution!

  6. #6
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Par défaut
    Sinon, je sais pas si c'est très propre, mais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    enum TYPE {X_AXIS = 0, Y_AXIS, Z_AXIS};
     
    class MaClasse
    {
       private:
          float mesValeurs [3];
     
       public:
          void Get (const TYPE ty)
          {
             return mesValeurs[ty];
          }
    };
    Bon évidemment ça t'obliges à avoir un tableau plutôt que trois valeurs x, y, z... Mais faire void Get (const size_t i) {return mesValeurs[i];} revient au même...

  7. #7
    Membre éclairé

    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 78
    Par défaut
    Citation Envoyé par Bakura Voir le message
    Sinon, je sais pas si c'est très propre, mais :
    En fait, ça ne l'est carement pas !

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

Discussions similaires

  1. [MySQL] afficher une seule fois un titre pour différents clients qui ont le même titre
    Par Prisss dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 01/12/2010, 10h52
  2. Réponses: 5
    Dernier message: 29/11/2010, 15h49
  3. [Checkstyle] [Maven] 1 seul fichier checkstyle.xml pour différents projets
    Par kalan dans le forum Qualimétrie
    Réponses: 9
    Dernier message: 26/09/2006, 10h11

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