Précédent   Forum des professionnels en informatique > C et C++ > C++
C++ Forum d'entraide technique sur le langage C++. Avant de poster -> F.A.Q C++
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/02/2012, 14h00   #1
Membre émérite
 
Inscription : novembre 2004
Messages : 1 561
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 1 561
Points : 853
Points : 853
Par défaut "template template" & UML

Hello,

Savez-vous comment représenter en UML des classes du type :

Code :
1
2
3
4
template<class T, template<class> U>
{
    ...
};
(pour une politique)

Et plus généralement, connaissez-vous un site qui parle de la représentation en UML des différentes utilisations de templates en C++ ?

Merci.
oodini est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 15h16   #2
Modérateur
 
Avatar de Flob90
 
Homme Florian Blanchet
Etudiant en Optique
Inscription : août 2004
Messages : 789
Détails du profil
Informations personnelles :
Nom : Homme Florian Blanchet
Âge : 21
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Etudiant en Optique

Informations forums :
Inscription : août 2004
Messages : 789
Points : 1 641
Points : 1 641
Je ne crois pas que l'UML soit réelement adapté au C++ par le simple fait que celui-ci est multi-paradigme et pas seulement OO. Ca introduit l'existence de pas mal de chose qui ne sont pas modélisable en UML et nécessite l'introduction de nouveaux éléments pour ce faire. Exemple le plus simple : les fonctions libre.

Si ce n'est pas pour de la génération automatique de code, tu peux toujours introduire ces éléments comme bon il te semble, ca ne sera plus réelement du UML, mais si ca reste lisible et compréhensible, ca devrait suffir.
__________________
"We can solve any problem by introducing an extra level of indirection" Butler Lampson

"N'importe quel problème peut être résolu en introduisant un niveau d'indirection supplémentaire" Butler Lampson (traduction libre)
Flob90 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 08/02/2012, 16h14   #3
Modérateur
 
Avatar de koala01
 
Philippe Dunski
Inscription : octobre 2004
Messages : 7 427
Détails du profil
Informations personnelles :
Nom : Philippe Dunski
Âge : 40

Informations forums :
Inscription : octobre 2004
Messages : 7 427
Points : 9 858
Points : 9 858
Envoyer un message via MSN à koala01 Envoyer un message via Skype™ à koala01
Salut,

En UML, il est possible de représenter une généricité de type en faisant apparaitre un onglet au dessus du rectangle de la classe, sous une forme proche (excuses moi, c'est de l'ASCII-ART, je n'ai plus vraiment le temps de faire un joli dessin )
Code :
1
2
3
4
5
6
7
8
9
10
11
 
            |-------|
            |  Type |
------------|-------|
| MyClass           |
|-------------------| 
| + foo() : void    | 
|-------------------|
            /\
            |
            | <<ConcreteType>>
Tu peux, après, indiquerIl est tout à fait faut de croire que UML est réservé exclusivement au paradigme OO!!!

C'est d'autant plus vrai avec l'acception du paradigme générique qui est celle de C++, car elle (l'acception du paradigne générique ) se marie déjà "naturellement" avec le paradigme OO
__________________
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
je ne répondrai à aucune question technique par E-mail, message visiteur ou message privé
Vous avez obtenu votre réponse pensez au bouton en bas de page
Vous souhaitez contribuer à la rubrique C++ ou Qt contactez-moi par message privé
koala01 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 17h47   #4
Membre émérite
 
Inscription : novembre 2004
Messages : 1 561
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 1 561
Points : 853
Points : 853
Je connais cette représentation, mais elle ne suffit pas pour indiquer qu'un paramètre template dépend lui-même d'un template.

J'ai fait dériver ma classe de ma politique, qui est elle-même templatisée.
En revanche, quand je dans ma classe fille je dois désigner le paramètre template issu de la classe parente, ça devient sioux...

Par ailleurs, je n'ai toujours pas trouvé comment définir des méthodes templates.
oodini est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h06.


 
 
 
 
Partenaires

Hébergement Web