La transformation C++ convertit les éléments de modèle UML en code C++.
Le tableau suivant montre comment la transformation C++ convertit les éléments de modèle UML suivants en code C++.
Elément de modèle UML | C++ |
---|---|
Package | Dossier |
Classe | Classe (fichiers .h et.cpp) |
Relation de généralisation | Héritage de classe |
Relation d'association | Attribut classe |
Propriété | Attribut classe |
Enumération | Enum (fichier .h) |
Opération | Opération |
Paramètre | Argument d'opération |
Relation d'utilisation | Inclusion |
Paramètre de canevas | Paramètre pour classe paramétrée |
Relation de liaison de canevas | Classe instanciée (fichier .h) |
Les opérations standard sont des constructeurs, des constructeurs de copie, des destructeurs et des opérateurs d'affectation. Vous pouvez préciser quelles opérations standard la transformation C++ génère. Vous pouvez également ajouter un stéréotype, qui représente l'une des opérations standard, à l'opération d'une classe dans votre modèle. La transformation C++ applique la visibilité de l'opération UML aux opérations standard générées, mais elle ignore le nom et les paramètres de l'opération UML. La transformation C++ génère des opérations standard pour les unions que vous avez explicitement ajoutées à un modèle UML.
La transformation C++ génère des fichiers de code C++ uniquement dans des projets C++ et des dossiers de projet C++.
Vous pouvez utiliser la fonction de mappage pour indiquer des noms secondaires pour les fichiers que la transformation génère sans modifier le modèle source. Vous pouvez définir des noms de fichier absolus et relatifs. Les noms de fichier absolus doivent désigner un projet existant. La transformation crée des nouveaux répertoires parents. La transformation remplace les extensions de fichier par des extensions de fichier C++ standard comme .h ou .cpp.
La transformation base les noms des diagrammes de visualisation UML sur le nom du package qui les contient. Les artefacts de mappage n'affectent pas directement le nommage des diagrammes de visualisation UML.