轉換會將關聯關係轉換成 C++ 程式碼中的成員變數。 如果是非組合關聯,轉換會將指標符號 (*) 新增到屬性的類型限定元中。 如果您指定了對應關係,且將它設成特定數字(用相同的低或高範圍),轉換會將陣列規格新增到屬性中。
轉換利用下列關聯端點內容來產生程式碼:
Property |
C++ |
Name |
利用指定的名稱來建立新成員變數(執行名稱驗證) |
Visibility |
決定產生的成員變數的可見性 |
預設值,轉換會產生 UML 一般化關係之目標的 public 繼承。 轉換會將目標的標頭檔自動併入產生的標頭檔中。 C++ 轉換支援多親繼承。
您可以套用 cpp_generalization 造型來指定給定一般化關係的可見性(public、protected、private 和 default)。
"Usage" 關係通常表示參照類別或列舉。 依預設,使用關係會轉換成產生的標頭檔中的向前參照及主體檔中的 "include" 指引。
如果您套用 cpp_dependency 造型,且將它的 isInclusionInHeader 屬性設為 true,則轉換會在標頭檔中產生併入指引。
您可以將 cpp_friend 造型套用在關係上來利用 "Usage" 關係指示類別之間的 "friendship"關係。 轉換會在產生的標頭檔中併入 "friend" 子句(如 "friend class Class1;")。 轉換不會產生 "friend" 函數的主體 Stub,會自動將相依於友好 (friend) 類別的關係新增到產生的程式碼中。
可能會出現類似下列中含 <<TBD ...>> 標示的併入路徑:
#include "../<<TBD actual project path>>/..."
這個標示的出現,很可能是因為轉換使用不同 UML 模型的元素。 您必須用指向所參照檔案的實際專案路徑來取代 <<TBD ..>> 標示。
轉換會將含範本參數的 UML 類別轉換成範本類別。
轉換會將與 Class1 目標有 "Binding" 關係的 UML 類別視為範本類別 Class1 的實例化。 轉換會使用連結關係所指定用來將形式參數解析成實際參數的參數替代。
如果類別有多個 "Binding" 關係,就會出現警告。 如果類別有多個連結關係,轉換會利用第一個連結關係來產生程式碼。
轉換會將實際參數的資料類型新增到實例化的類別併入清單中。
下圖說明轉換所支援的實例化關係,在這個關係中,一個類別是參數化的類別,另一個類別是實例化的類別。
轉換不支援較複雜的範本類別用法型樣,其中包括用來作為形式參數的範本和參數化類別中的靜態變數。