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

BOUML Discussion :

C++ : specifier et pointer des paramètres issus de "New set and get operation"


Sujet :

BOUML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Janvier 2008
    Messages : 28
    Par défaut C++ : specifier et pointer des paramètres issus de "New set and get operation"
    Bonjour,

    Bien que dans l'onglet "C++"[4] du menu "generation settings", le champ "input parameter" de la ligne "Default type forms for the types not given in the first tab" soit positionné à const ${type} &, les déclarations et définitions générées par l'outil "New set and get operation" ne contiennent ni specifier const ni pointer &.

    Il en va de même pour les types déclarés dans la "first tab" en question (j'y ai modifié le comportement pour les paramètres input de type string).

    Une autre remarque à propos du code généré par la fonction "New set and get operation" : le type retourné est constant. Le constructeur par recopie est donc appelé pour créer une nouvelle instance.
    Je préfèrerait qu'il soit constant sur une référence : pas de nouvelle instance et le principe d'encapsulation n'est pas (trop) violé puisque l'objet retourné n'est pas modifiable.

    Ai-je loupé une option de configuration ?

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 545
    Par défaut
    la spécification par défaut du passage des paramètres et retour de valeur des setter/getter est donnée via les generation settings tab C++[4], je n'utilise pas ce qui est donne par l'onglet TYpe pour eux ... c'est déjà asser compliqué.

    lorsque la définition/déclaration par défaut ne convient pas c'est comme ailleurs, il suffit d'adapter la définition/déclaration du getter/setter en question pour avoir ce que l'on veut et de cocher frozen pour que le modification de l'attribut/relation associé ne casse pas tout
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  3. #3
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Janvier 2008
    Messages : 28
    Par défaut
    la spécification par défaut du passage des paramètres et retour de valeur des setter/getter est donnée via les generation settings tab C++[4]
    J'ai peur que çà ne marche pas dans la version que j'utilise (3.4.1)

    lorsque la définition/déclaration par défaut ne convient pas c'est comme ailleurs, il suffit d'adapter la définition/déclaration du getter/setter
    Je me suis retrouvé avec pas mal de setters et getters à modifier à la main => probabilité d'erreur de manip pas négligeable (d'ailleurs çà a pas loupé ... je suis bien moins bon codeur que BOUML )

    je n'utilise pas ce qui est donne par l'onglet TYpe pour eux ... c'est déjà asser compliqué
    A près tout, on gagne tellement de temps avec l'outil qu'on peut en passer un peu à adapter les définitons et déclarations puis à corriger les coquilles qu'on a introduites.

  4. #4
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 545
    Par défaut
    Citation Envoyé par ch4mp Voir le message
    Citation Envoyé par bruno_pages Voir le message
    la spécification par défaut du passage des paramètres et retour de valeur des setter/getter est donnée via les generation settings tab C++[4]
    J'ai peur que çà ne marche pas dans la version que j'utilise (3.4.1)
    comment ça ?
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  5. #5
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Janvier 2008
    Messages : 28
    Par défaut
    Le code des setters et getters ne comporte ni "const" ni "&" quelles que soient les indications des onglets type et C++[4]

    Par contre ces mêmes informations sont parfaitement prises en compte lors de l'ajout manuel d'une méthode.
    Dans les déclaration et définition par défaut, les paramètres respectent ce qui est indiqué dans les différents champs du menu Génération settings, et ce que ce soit dans l'onglet type ou dans l'onglet C++[4]

    Je fais suivre par mail un exemple de projet qui met tout çà en évidence.

  6. #6
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 545
    Par défaut
    Citation Envoyé par ch4mp Voir le message
    Le code des setters et getters ne comporte ni "const" ni "&" quelles que soient les indications des onglets type et C++[4]
    par d'accord, cela marche ... mais peut être pas comme tu le crois

    le by ref n'aura pas d'effet lorsque la valeur est déjà une référence ou est un pointeur. by ref sert à éviter les recopies, il n'y a donc rien à faire lorsque qu'il n'y a pas de recopie

    les indications const et inline sont prises en compte lorsque le getter/setter est créé, une fois créé tu peux changer ces flags toi même directement au niveau des getter/setter
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

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

Discussions similaires

  1. Récupération des paramètres avec une procedure stockée
    Par samlerouge dans le forum Bases de données
    Réponses: 2
    Dernier message: 31/03/2004, 22h00
  2. [Souris] Sauvegarde des paramètres du driver
    Par Giovanny Temgoua dans le forum x86 16-bits
    Réponses: 7
    Dernier message: 31/01/2004, 19h24
  3. specifier les chemins des .class
    Par draken dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 29/07/2003, 09h35
  4. Comment obtenir la liste des paramètres d'une SP ?
    Par Le Gritche dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/03/2003, 16h54
  5. créer un noeuds avec des paramétres
    Par Toxine77 dans le forum XMLRAD
    Réponses: 5
    Dernier message: 21/01/2003, 16h11

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