UML에서 C++로 변환이 클래스, 열거 및 인터페이스에서 C++ 요소를
생성하는 방법은 몇 가지 요인에 의해 판별됩니다.
표준 템플리트 라이브러리 클래스에 대한 참조
기본적으로,
모델에 STL(Standard Template Library)에 있는 클래스에 대한 참조가 있는 경우
변환은 해당되는 헤더 파일의 이름을 지정하는 include 지시문을
생성합니다. 예를 들어, 모델에 vector<>라고 하는 STL 클래스에 대한 참조가 있는 경우
변환은
#include <vector> 포함 지시문을 생성합니다.
팁: UML에서 C++로 변환에 대한 이 환경 설정을 편집할 수 있습니다.
UML 클래스
변환은 사용자가 변환 구성의 소스에서
지정하는 클래스마다 헤더 파일과 본문 파일(선택사항)을
생성합니다. 기본적으로 본문 파일의 파일 이름 확장자는
.cpp입니다. 변환은 «cpp_struct», «cpp_union» 또는 «cpp_typedef»
스테레오타입이 적용된 UML 클래스에서 C++ 구조체, 공용체 및 typedef를
생성합니다. 모델의 요소에 이 스테레오타입을 적용하려면 먼저
C++ 변환 프로파일을 적용해야 합니다. 변환은 다음 항목에 대해
본문 파일을 생성하지 않습니다.
- «cpp_typedef» 스테레오타입이 적용된 클래스
- «cpp_struct», «cpp_typedef» 또는 «cpp_union» 스테레오타입이
적용되고 오퍼레이션이 없는 클래스
- «cpp_struct», «cpp_typedef» 또는 «cpp_union» 스테레오타입이
적용되고 abstract 오퍼레이션만 있는 클래스
- 스테레오타입이 적용되지 않고 오퍼레이션이 없는
클래스
- 스테레오타입이 적용되지 않고 abstract 오퍼레이션만 있는
클래스
변환은 헤더 파일과 본문 파일에 클래스의 이름을
지정합니다. 클래스의 이름이 C++ 이름 지정 규칙을 준수하지 않거나
이름이 고유하지 않은 경우 변환은 헤더 및 본문 파일에 새 이름을
지정합니다. 생성된 본문 파일에는 해당되는 헤더 파일에 대한
#include 지시문이 있습니다.
변환은 헤더 파일에서
UML 템플리트 클래스에 대한 코드와, 템플리트 클래스에 대한
메소드 본문을 생성합니다.
UML 열거
변환은 사용자가 변환 구성의 소스에서
지정하는 UML 열거마다 C++ 열거를 생성합니다. 필요한 경우
변환은 C++ 규칙을 준수하는 고유 이름을 지정합니다. 그렇지 않으면
생성된 C++ 열거의 이름이 UML 열거와 동일합니다. 변환은
UML 열거 리터럴을 C++ 열거 리터럴로 변환합니다.
익명 열거를
생성하려면 C++ 변환 프로파일을 소스 모델에
적용해야 합니다. 그런 다음 «cpp_enum» 스테레오타입을
열거에 적용하고 해당되는 isAnonymousEnum 특성을
true로 설정해야 합니다.
UML 인터페이스
변환은 UML 인터페이스를
C++ 클래스로 변환합니다. 인터페이스의 UML 오퍼레이션은
순수 가상 C++ 메소드로 변환됩니다.
중첩 UML 클래스, 열거 및 인터페이스
변환은
중첩 요소에 대해 독립 헤더 및 본문 파일을 생성하지 않습니다.
그 대신, 변환은 중첩 요소가 있는 클래스의 헤더 및 본문
파일에 중첩 요소에 대한 정보를 추가합니다.