Dans la transformation C++, le terme "opérations standard" fait référence collectivement aux constructeurs, constructeurs de copie, destructeurs et opérateurs d'affectation.
Vous pouvez contrôler la génération automatique d'opérations standard via les propriétés de plug-in Eclipse. Pour accéder aux propriétés, cliquez sur Fenêtre > Préférences. Pour accéder aux propriétés pour la transformation C++, développez Modélisation, développez Transformations, et cliquez sur Transformation UML vers C++.
La transformation génère par défaut les constructeurs et les constructeurs de copie.
Vous pouvez contrôler encore plus comment la transformation génère les opérations standard en ajoutant des opérations avec des stéréotypes spécifiques au modèle UML. Si vous créez une opération sous une classe et que vous lui attribuez un des stéréotypes d'opération standard, la transformation génère l'opération standard à la place de l'opération indiquée.
Vous pouvez utiliser les stéréotypes suivants pour générer des opérations standard :
· Constructeur : vous pouvez utiliser le stéréotype cpp_constructor pour indiquer si le constructeur est explicite ou en ligne d'entrée. La transformation attribue des valeurs UML par défaut aux attributs classes dans les constructeurs générés.
· Constructeur de copie : vous pouvez utiliser le stéréotype cpp_copy_constructor pour indiquer si le constructeur de copie est explicite ou en ligne d'entrée. La transformation attribue des valeurs UML par défaut aux attributs classes dans les constructeurs de copie générés.
· Destructeur : vous pouvez utiliser le stéréotype cpp_destructor pour indiquer si le destructeur est virtuel ou en ligne d'entrée.
· Affectation : vous pouvez utiliser le stéréotype cpp_assignment pour indiquer si une opération d'affectation est en ligne d'entrée. La transformation attribue des valeurs aux attributs classe basés sur les opérateurs d'affectation générés.
La transformation 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.
Les constructeurs ont des chaînes d'initialisation pour les attributs avec les valeurs par défaut indiquées. Les constructeurs de copie créent des attributs basés sur les attributs qui sont en cours de duplication. Les corps des opérateurs d'affectation générés contiennent des instructions d'affectation qui sont appropriées à leurs attributs classes.
Si une classe indique un type particulier d'opération standard, ses propriétés écrasent les propriétés par défaut de la transformation.
La transformation ne génère pas d'opérations standard pour les unions, à moins que vous ne les ajoutiez de manière explicite à un modèle UML.