클래스 디자이너의 Visual C++ 형식 정의
Typedef 문은 이름과 내부 형식 사이에 하나 이상의 간접 참조 계층을 만듭니다. 클래스 디자이너에서는 typedef 키워드로 선언된 C++ 형식 정의 형식을 지원합니다. 예를 들면 다음과 같습니다.
typedef class coord
{
void P(x,y);
unsigned x;
unsigned y;
} COORD;
이 형식을 사용하여 인스턴스를 선언할 수 있습니다.
COORD OriginPoint;
이름 없이 형식 정의를 선언할 수는 있지만 지정한 태그 이름이 클래스 디자이너에서 사용되지 않고 클래스 뷰에서 생성된 이름이 사용됩니다. 예를 들어 다음 선언은 유효하지만 클래스 뷰와 클래스 디자이너에 __unnamed라는 개체로 나타납니다.
typedef class coord
{
void P(x,y);
unsigned x;
unsigned y;
};
typedef 형식 사용에 대한 자세한 내용은 typedef Specifier를 참조하십시오.
C++ 형식 정의 모양은 형식 정의에 지정된 형식의 모양입니다. 예를 들어 소스에서 typedef class를 선언하면 둥근 모퉁이를 가진 모양이 되며 레이블은 Class가 됩니다. typedef struct의 경우 사각형 모양이 되며 레이블은 Struct가 됩니다.
클래스 및 구조체에는 중첩된 형식 정의를 선언할 수 있으므로 클래스 및 구조체 모양은 중첩된 형식 정의 선언을 중첩된 모양으로 표시할 수 있습니다.
형식 정의 모양은 상황에 맞는 메뉴에서 형식 연결로 표시 및 컬렉션 형식 연결로 표시를 지원합니다.
다음은 클래스 디자이너에서 지원하는 형식 정의 형식의 몇 가지 예제입니다.
코드 요소 |
클래스 디자이너 뷰 |
---|---|
typedef type name |
name : type 형식 정의 가능한 경우 name 형식에 연결되는 연결 선을 그립니다. |
typedef void (*func)(int) |
func: void (*)(int) 형식 정의 함수 포인터에 대한 형식 정의입니다. 연결 선이 그려지지 않습니다. 소스 형식이 함수 포인터인 경우 클래스 디자이너에서는 형식 정의를 표시하지 않습니다. |
|
MyInt: int 형식 정의 A 클래스 소스 형식 모양에서 대상 형식 모양으로 이어지는 연결 선을 그립니다. |
Class B {}; typedef B MyB; |
B 클래스 MyB : B 형식 정의 형식 정의 모양을 마우스 오른쪽 단추로 클릭하고 형식 연결로 표시를 클릭하면 형식 정의 또는 클래스와 두 모양을 연결하는 별칭 선(연결 선과 유사함)이 표시됩니다. |
typedef B MyB; typedef MyB A; |
MyBar : Bar 형식 정의 위와 동일합니다. |
|
B 클래스 MyB : B 형식 정의 A 클래스 MyB는 중첩된 형식 정의 모양입니다. |
#include <vector> ... using namespace std; ... typedef vector<int> MyIntVect; |
vector<T>클래스 MyIntVect : vector<int> 형식 정의 |
class B {}; typedef B MyB; class A : MyB {}; |
MyB : B 형식 정의 ->B B A 클래스 -> MyB 클래스 디자이너에서는 상황에 맞는 메뉴 명령을 사용하여 이와 같은 관계를 표시하는 기능을 지원하지 않습니다. |
#include <vector> Typedef MyIntVect std::vector<int>; Class MyVect : MyIntVect {}; |
std::vector<T> 클래스 MyIntVect : std::vector<int> 형식 정의 MyVect 클래스 -> MyIntVect |