這項轉換利用「C++ 轉換」設定檔來傳送尚未在 UML 中備妥之模型的相關資訊。 這個設定檔包括下列造型:
造型 |
適用於 |
屬性 |
類型 |
cpp_type |
參數、內容 |
isMutable、 qualifier (String)、InitializerKind (Enumeration) |
預設值為 false 的 Boolean |
cpp_generalization |
一般化 |
GeneralizationKind |
列舉 |
cpp_struct |
類別 |
|
預設值為 false 的 Boolean |
cpp_union |
類別 |
isAnonymousUnion |
預設值為 false 的 Boolean |
cpp_typedef |
類別 |
ImplementationType |
String |
cpp_dependency |
相依關係 |
isInclusionInHeader |
預設值為 false 的 Boolean |
cpp_friend |
相依關係 |
|
預設值為 false 的 Boolean |
cpp_namespace |
套件、模型 |
NamespaceName |
String |
cpp_operation |
作業 |
isInline、isVirtual、isFriend |
預設值為 false 的 Boolean |
cpp_constructor |
作業 |
isExplicit、isInline |
預設值為 false 的 Boolean |
cpp_copy_constructor |
作業 |
isExplicit、isInline |
預設值為 false 的 Boolean |
cpp_destructor |
作業 |
isVirtual、isInline |
預設值為 false 的 Boolean |
cpp_assignment |
作業 |
isInline |
預設值為 false 的 Boolean |
您不應將多個 C++ 轉換造型套用於 UML 物件上。套用多個造型會有下列作用:
· UML 類別(cpp_struct、cpp_union、cpp_typedef):不論您套用多少造型,轉換都只會建立一個物件。 轉換會優先使用 cpp_typedef。 如果 cpp_typedef 造型不適用,且您同時套用 cpp_struct 和 cpp_union 造型,轉換會產生 C++ 建構,且不使用任何標準作業。
· UML 相依關係(cpp_dependency、cpp_friend):如果您同時套用這兩個造型,轉換會處理這兩個造型,且會建立 "friend" 關係和相依關係。
· UML 作業(cpp_operation、cpp_constructor、cpp_copy_constructor、cpp_destructor、cpp_assignment):不論您將多少造型套用在作業上,轉換都只會建立一個物件。 下列清單顯示造型的優先順序,從最高到最低:
o cpp_constructor,
o cpp_copy_constructor,
o cpp_destructor,
o cpp_assignment,
o cpp_operation