Na transformação C++, o termo "operações padrão" coletivamente se refere aos construtores, construtores de cópia, destrutores e operadores de designação.
É possível controlar a geração automática de operações padrão por meio das propriedades de plug-in do Eclipse. Para acessar as propriedades, clique em Janela > Preferências. Para acessar as propriedades para a transformação C++, expanda Modelagem, expanda Transformações e clique em Transformação UML para C++.
A transformação gera construtores e copia construtores por por padrão.
É possível controlar como a transformação gera operações padrão, incluindo operações com estereótipos específicos para o modelo UML. Se você criar uma operação em uma classe e designá-la um dos estereótipos da operação padrão, a transformação gera a operação padrão em vez da operação especificada.
É possível utilizar os seguintes estereótipos para gerar operações padrão:
· Construtor: É possível utilizar o estereótipo cpp_constructor para especificar se o construtor está explícito ou seqüêncial. A transformação designa valores padrão de UML para atributos de classe nos construtores gerados.
· Construtor de cópia: É possível utilizar o estereótipo cpp_copy_constructor para especificar se o construtor de cópia está explícito ou seqüêncial. A transformação designa valores padrão de UML para atributos de classe nos construtores de cópia gerados.
· Destrutor: É possível utilizar o estereótipo cpp_destructor para especificar se o destrutor é virtual ou seqüêncial.
· Designação: É possível utilizar o estereótipo cpp_assignment para especificar se uma operação de designação é seqüêncial. A transformação designa valores para os atributos de classe com base na classe designada nos operadores de designação gerados.
A transformação aplica a visibilidade da operação de UML para as operações padrão geradas, mas ignora o nome e os parâmetros da operação UML.
Os construtores têm cadeias de inicialização para os atributos com valores padrão especificados. Os construtores de cópia criam atributos com base nos atributos que estão sendo duplicados. Os corpos dos operadores de designação gerados contêm instruções de designação que são apropriadas para os seus atributos de classe.
Se uma classe especifica um tipo específico de operação padrão, suas propriedades sobrescrevem as propriedades padrão da transformação.
A transformação não gera operações padrão para uniões, a menos que você as inclua explicitamente em um modelo de UML.