I diagrammi di classe rappresentano non solo classi C/C++, ma anche altri elementi tra cui strutture, enumerazioni, unioni e definizioni tipo.
Uno stereotipo è un meccanismo di estensione che amplia il vocabolario di UML e fornisce un significato più specifico a una classe C/C++ e ad altri elementi.
Nella seguente tabella viene visualizzato in che modo gli elementi C/C++ sono associati agli stereotipi e agli elementi UML con icone nei diagrammi di classe.
| Elemento C/C++ | Elemento UML | Stereotipo | Icona |
|---|---|---|---|
| File di intestazione | Artefatto | <<file di intestazione>> | |
| File del codice di origine | Artefatto | <<file>> | |
| Cartella | Artefatto | <<folder>> | |
| Classe | Classe | <<class>> | |
| Enumerazione | Enumerazione | <<enum>> | |
| Struttura | Classe | <<struct>> | |
| Definizione tipo | Classe | <<typedef>> | |
| Unione | Classe | <<union>> | |
| Spazio nomi | Pacchetto | <<namespace>> | |
| Elemento globale | Classe | <<global>> | |
| Funzione non membro | Classe | <<global>> | |
| Variabile non membro | Classe | <<global>> | |
| Campo membro della classe | Attributo (pubblico, protetto, privato) | <<attribute>> | |
| Metodo membro della classe | Operazione (pubblica, protetta, privata) | <<operation>> |