Os diagramas de classes representam não apenas as classes do C/C++, mas outros elementos do C/C++, como structs, enums, unions e typedefs.
Um estereótipo é um mecanismo de extensão que amplia o vocabulário da UML e fornece um significado mais específico para uma classe e outros elementos do C/C++.
A tabela a seguir mostra como os elementos do C/C++ são mapeados para elementos UML e estereótipos com ícones em diagramas de classes.
| Elemento do C/C++ | Elemento UML | Estereótipo | Ícone |
|---|---|---|---|
| Arquivo de cabeçalho | Artefato | <<arquivo de cabeçalho>> | |
| Arquivo de Código-Fonte | Artefato | <<arquivo>> | |
| Pasta | Artefato | <<pasta>> | |
| Classe | Classe | <<classe>> | |
| Enum | Enumeração | <<enum>> | |
| Estrutura | Classe | <<estrutura>> | |
| Typedef | Classe | <<typedef>> | |
| União | Classe | <<união>> | |
| Espaço de nomes | Pacote | <<espaço de nomes>> | |
| Elemento global | Classe | <<global>> | |
| Função Não-membro | Classe | <<global>> | |
| Variável Não-membro | Classe | <<global>> | |
| Campo de membro de classe | Atributo (público, protegido, privado) | <<atributo>> | |
| Método de membro de classe | Operação (pública, protegida, privada) | <<operação>> |