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++ : fusion de la déclaration et de la définition des méthodes inline


Sujet :

BOUML

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Janvier 2008
    Messages : 28
    Points : 19
    Points
    19
    Par défaut C++ : fusion de la déclaration et de la définition des méthodes inline
    Bonjour,

    Je trouve qu'il est plus lisible d'avoir directement la définition des méthodes inline dans la déclaration de la classe.

    Est-il possible d'avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Class1{
    private:
        int toto;
    public:
        Class1():toto(0){
        }
        int getToto(){
            return this->toto;
        }
    }
    Plutot que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Class1{
    private:
        int toto;
    public:
        Class1():toto(0){
        }
        inline int getToto();
    }
    
    int Class1::getToto(){
        return this->toto;
    }
    Si c'est possible, comment dois-je m'y prendre ?

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 533
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 533
    Points : 6 709
    Points
    6 709
    Par défaut
    Bonjour,
    Citation Envoyé par ch4mp Voir le message
    Je trouve qu'il est plus lisible d'avoir directement la définition des méthodes inline dans la déclaration de la classe.
    ...
    Si c'est possible, comment dois-je m'y prendre ?
    Pour mettre la définition d'une opération à la place de sa déclaration il suffit ... de mettre sa définition à la place de sa déclaration

    Donc, dans l'onglet C++, vider la partie définition (partie basse de la boite de dialogue) via par exemple Not generated in C++ (au niveau définition), et modifier la déclaration (partie haute du dialogue) en remplaçant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
    par (${abstract} ne sert à rien, autant le retirer) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw} {
      return this->toto;
    }
    Attention, dans la déclaration ${body} n'est pas substitué, il faut directement mettre le corps, mais comme une opération inline est à priori courte cela ne doit pas posé de problème.

    Je ne le dirai jamais assez, mais pour savoir comment générer quelque chose il suffit généralement d'écrire la chose à la main dans un/des fichier(s) lui/eux même placé dans un répertoire crée à cet effet, de reverser le répertoire, et de regarder le résultât. Cela aurait donné la solution dans le cas présent
    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 à l'essai
    Inscrit en
    Janvier 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Janvier 2008
    Messages : 28
    Points : 19
    Points
    19
    Par défaut
    Donc pas moyen de le faire de manière systématique ?
    Je veux dire :
    - sans avoir à éditer chaque accesseur dans BOUML pour faire la manip
    - avec prise en charge du roundtrip body (utile pour constructeurs et destructeurs courts)

  4. #4
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 533
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 533
    Points : 6 709
    Points
    6 709
    Par défaut
    Citation Envoyé par ch4mp Voir le message
    - sans avoir à éditer chaque accesseur dans BOUML pour faire la manip
    tu peux faire ton propre générateur d'accesseur via un plug-out, mais contrairement à la version câblée il n'y aura pas de régénération automatique lors de la modification de l'attribut/relation correspondant (j'avais pensé mettre des triggers permettant l'appel automatique de plug-out sur modification d'élément mais cela me parait quelque peu dangereux )

    Citation Envoyé par ch4mp Voir le message
    - avec prise en charge du roundtrip body (utile pour constructeurs et destructeurs courts)
    l'édition des corps en dehors de la partie définition, éventuellement en dehors de Bouml si preserve operation body, est liée à l'utilisation de ${body}

    je pense que c'est déjà assez usine a gaz comme cela sans ajouter une nième option de génération
    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 à l'essai
    Inscrit en
    Janvier 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Janvier 2008
    Messages : 28
    Points : 19
    Points
    19
    Par défaut
    Ok, je vais faire avec les déclarations et définitions séparée.
    C'est loin d'être bloquant, ce sont juste des considérations discutables de concision et d'esthétique.

    Merci pour les explications.

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

Discussions similaires

  1. [RFC] Déclaration du type de retour des fonctions
    Par Tsilefy dans le forum Langage
    Réponses: 2
    Dernier message: 25/04/2014, 20h07
  2. Réponses: 2
    Dernier message: 18/12/2013, 16h09
  3. Séparer déclaration de variables et affectation des valeurs
    Par bk313142 dans le forum Général JavaScript
    Réponses: 25
    Dernier message: 25/08/2009, 17h06
  4. eclipse pdt : autocompletion et lien sur déclaration des méthodes
    Par crazykangourou dans le forum Eclipse PHP
    Réponses: 2
    Dernier message: 11/12/2008, 10h52
  5. Réponses: 8
    Dernier message: 17/05/2002, 09h08

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