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++] fonction membre template


Sujet :

BOUML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 [C++] fonction membre template
    Bonjour,

    Dans une classe, non template, j'ai une fonction membre template que j'aimerai saisir correctement dans bouml. Et je sèche un peu.

    Suis-je face à une des limitations d'UML aux égards des templates/du polymorphisme paramétrique ? J'ai l'impression que le seul choix est de bidouiller dans l'onglet C++ de la fonction pour lui donner la signature qui va bien -- la génération du code n'étant absolument pas mon but à termes.

    Il y-a-t-il une autre façon de faire qui soit plus canonique ?
    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...

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 551
    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 551
    Par défaut
    Bonjour,

    juste pour être sure, tu parles bien de quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class C
    {
    public:
        template <class T>
        void op(T v);
    };
    
    template <class T>
    void C::op(T v)
    {
       // ...
    }
    les fonctions membre template n'existent pas en UML, c'est du pure C++, le fait que la classe ne soit pas template ne changeant d'ailleurs rien à l'affaire

    J'ai l'impression que le seul choix est de bidouiller dans l'onglet C++ de la fonction pour lui donner la signature qui va bien
    dans ce cas c'est forcément une signature C++, pas UML, non ?

    Le reverse C++ stéréotype 'template' de telles opérations, mais c'est juste pour que cela se voit dans le browser, cela n'a rien à voir avec une quelconque raison venant d'UML. Soit dit en passant l'écriture du reverse n'a pas été quelque chose de véritablement trivial
    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
    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
    Tout à fait, c'est bien le genre de fonctions auxquelles je faisais allusion.

    Et donc c'est bien ce que je craignais aussi : une faiblesse d'UML.

    Ce qui m'intéressait, c'était de pouvoir voir dans le modèle le côté que l'on avait affaire à une famille de fonctions. Quitte à ce que cela se voit juste sous la forme d'une case à cocher dans la listes des paramètres pour signaler que le paramètre n'est pas un type définitif du système.
    Il faudra peut-être que j'introduise dans mon modèle des concepts (à la C++) en alternatives aux interfaces pour ces cas là.

    Merci.

    PS: je suis sur une des classes que j'avais oubliée lors du reverse automatisé. Du coup, je voulais la saisir à la main.
    Et je ne doute pas un seul instant des difficultés pour automatiser le reverse de code C++.
    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...

  4. #4
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 551
    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 551
    Par défaut
    Citation Envoyé par Luc Hermitte Voir le message
    Et donc c'est bien ce que je craignais aussi : une faiblesse d'UML.
    Je ne dirai pas cela, la raison d'être d'UML c'est la modélisations, pas la réalisation, il est impossible ni même utile que toutes subtilités de tel ou
    tel langages soit modélisées.

    Par contre le rôle d'un modeleur UML avec génération de code est bel et bien d'offrir le moyen de générer le code que l'on souhaite à partir d'une modélisation à la base UML. Pour cela il faut que les informations manquantes au niveau UML soient ajoutés, quelque soit le moyen et le moment de le faire. Pour Bouml j'ai choisi la substitution de mot clef ce qui offre une grande souplesse d'utilisation et permet à l'utilisateur de générer ce qu'il veut, ce n'est pas le plus mauvais choix technique que j'ai jamais fait
    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

Discussions similaires

  1. Réponses: 9
    Dernier message: 05/01/2010, 08h32
  2. Réponses: 3
    Dernier message: 09/04/2009, 11h30
  3. Problème de spécialisation de fonction membres template
    Par ludovic.barrillie dans le forum Langage
    Réponses: 3
    Dernier message: 17/04/2007, 08h44
  4. Pointeur de fonction membre template
    Par bolhrak dans le forum Langage
    Réponses: 6
    Dernier message: 12/12/2006, 14h47
  5. Réponses: 5
    Dernier message: 29/12/2005, 21h27

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