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 :

Get / accesseur syntaxe


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    dev
    Inscrit en
    Février 2018
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Février 2018
    Messages : 119
    Par défaut Get / accesseur syntaxe
    Bonjour à tous,

    je voudrais une confirmation sur un point SVP:

    Soit ma variable privée "value", attribut d'une classe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Pour définir l'accesseur, on utilise souvent ceci : 
    
    int Classe::GetValue
    {
    return value;
    }
    or j'ai "l"impression qu'à partir du moment où on choisit de prendre après Get le nom de la variable et à mettre une majuscule sur la première lettre de la variable, alors il suffit d'indiquer int GetValue() en tant que méthode publique.
    J'ai remarqué que la définition de l'accesseur était nécessaire si on ne respectait pas cette règle. En revanche, si on respecte bien "la règle de la majuscule" et que on définit l'accesseur alors cela ne compile pas.

    Qu'en pensez vous ?

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 494
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Ton message est loin d'être clair... Il serait plus simple de montrer un code qui marche et un code qui ne marche pas pour qu'on comprenne bien.

    En déchiffrant, je comprends que ça marche et que ça ne marche pas ? Si c'est ça, alors le problème est ailleurs. Les deux noms sont OK, il n'y a (presque) pas de limitations sur le nom de tes getters.

    En revanche, le code suivant est invalide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class Foo {
        int value;
    public:
        int value() {
            return value;
        }
    };
    Motif : une fonction membre et une donnée membre ne peuvent pas avoir le même nom.

  3. #3
    Membre confirmé
    Homme Profil pro
    dev
    Inscrit en
    Février 2018
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Février 2018
    Messages : 119
    Par défaut
    Salut,

    Merci pour ta réponse.

    Tu as un compris ce que je voulais dire.
    Et en effet cela n'était pas normal.

    J'ai bien re regardé et j'avais fait une grossière faute (une majuscule en trop ici ou là).

    Mais au moins j'ai ma confirmation que la syntaxe de Get ne possède pas de règles particulières.
    Le comportement du programme m'avait induit en erreur.
    Désolé pour le dérangement.

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 521
    Par défaut
    Remarque à 2 balles, évitez les accesseurs, cela casse les règles d'encapsulation quand c'est mal fait.

  5. #5
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Remarque à 2 balles, évitez les accesseurs, cela casse les règles d'encapsulation quand c'est mal fait.
    Et parfois c'est mal fait et cela casse juste la const-correctness...
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

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

Discussions similaires

  1. Syntaxe avec un get
    Par nox77 dans le forum Langage
    Réponses: 4
    Dernier message: 15/03/2011, 17h07
  2. [1.x] Accesseur get
    Par jeronimo83 dans le forum Symfony
    Réponses: 3
    Dernier message: 28/10/2009, 15h06
  3. Problème de syntaxe sur méthodes get et set
    Par ricardo93 dans le forum C#
    Réponses: 3
    Dernier message: 09/06/2009, 22h52
  4. [POO] Syntaxe pour des accesseurs
    Par delire8 dans le forum C++
    Réponses: 8
    Dernier message: 23/11/2008, 15h09
  5. Réponses: 10
    Dernier message: 17/01/2008, 13h54

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