클래스 디자이너의 Visual C++ 형식 정의Visual C++ Typedefs in Class Designer

Typedef 문은 이름과 기본 형식 간에 하나 이상의 간접 참조 레이어를 만듭니다.Typedef statements create one or more layers of indirection between a name and its underlying type. 클래스 디자이너는 typedef 키워드로 선언된 C++ typedef 형식을 지원합니다. 예:The Class Designer supports C++ typedef types, which are declared with the keyword typedef, for example:

typedef class coord  
{  
   void P(x,y);  
   unsigned x;  
   unsigned y;  
} COORD;  

그런 다음 이 형식을 사용하여 인스턴스를 선언할 수 있습니다.You can then use this type to declare an instance:

COORD OriginPoint;

이름 없이 typedef를 선언할 수 있지만, 클래스 디자이너에서 지정한 태그 이름이 사용되지 않습니다. 클래스 뷰에서 생성하는 이름이 사용됩니다.Although you can declare a typedef without a name, Class Designer will not use the tag name that you specify; it will use the name that Class View generates. 예를 들어 다음 선언은 유효하지만 클래스 뷰 및 클래스 디자이너에 __unnamed라는 개체로 나타납니다.For example, the following declaration is valid, but it appears in Class View and Class Designer as an object named __unnamed:

typedef class coord  
{  
   void P(x,y);  
   unsigned x;  
   unsigned y;  
};  

typedef 형식을 사용하는 방법에 대한 자세한 내용은 typedef 지정자를 참조하세요.For more information about using the typedef type, see typedef Specifier.

C++ typedef 도형은 typedef에 지정된 형식의 도형입니다.A C++ typedef shape has the shape of the type specified in the typedef. 예를 들어 소스에서 typedef class를 선언하는 경우 도형에 둥근 모서리와 클래스 레이블이 있습니다.For example, if the source declares typedef class, the shape has rounded corners and the label Class. typedef struct의 경우 도형에 사각형 모서리와 구조체 레이블이 있습니다.For typedef struct, the shape has square corners and the label Struct.

클래스와 구조체 내부에서 중첩된 typedef가 선언될 수 있으므로 클래스 및 구조체 도형에 중첩된 typedef 선언이 중첩된 도형으로 표시될 수 있습니다.Classes and structures can have nested typedefs declared within them; therefore, class and structure shapes can show nested typedef declarations as nested shapes.

Typedef 도형은 상황에 맞는 메뉴에서 형식 연결로 표시컬렉션 형식 연결로 표시 명령을 지원합니다.Typedef shapes support the Show as Association and Show as Collection Association commands on the context menu.

다음은 클래스 디자이너에서 지원하는 typedef 형식의 몇 가지 예입니다.The following are some examples of typdef types that the Class Designer supports:

typedef type name

이름 : 형식name : type

형식 정의typedef

가능한 경우 name 형식에 연결하는 형식 연결 선을 그립니다.Draws an association line connecting to type name, if possible.

typedef void (*func)(int)

func: void (*)(int)

형식 정의typedef

함수 포인터에 대한 Typedef입니다.Typedef for function pointers. 형식 연결 선이 그려지지 않습니다.No association line is drawn.

소스 형식이 함수 포인터인 경우 클래스 디자이너에 typedef가 표시되지 않습니다.Class Designer does not display a typedef if its source type is a function pointer.

typedef int MyInt;  
class A {  
   MyInt I;  
};  

MyInt: int

형식 정의typedef

A

클래스Class

소스 형식 도형에서 대상 형식 도형을 가리키는 형식 연결 선을 그립니다.Draws an association line pointing from the source type shape to the target type shape.

Class B {};

typedef B MyB;

B

클래스Class

MyB : B

형식 정의typedef

typedef 도형을 마우스 오른쪽 단추로 클릭하고 도형 연결로 표시를 클릭하면 typedef 또는 클래스와 두 도형을 연결하는 선(형식 연결 선과 유사)의 별칭이 표시됩니다.Right-clicking a typedef shape and clicking Show As Association displays the typedef or class and an Alias of line joining the two shapes (similar to an association line).

typedef B MyB;

typedef MyB A;

MyBar : Bar

형식 정의typedef

위와 동일합니다.Same as above.

Class B {};  
typedef B MyB;  

class A {  
   MyB B;  
};  

B

클래스Class

MyB : B

형식 정의typedef

A

클래스Class

MyB는 중첩된 typedef 도형입니다.MyB is a nested typedef shape.

#include <vector>

...

using namespace std;

...

typedef vector<int> MyIntVect;

vector<T>Classvector<T>Class

MyIntVect : vector<int>

형식 정의typedef

class B {};

typedef B MyB;

class A : MyB {};

MyB : B

형식 정의typedef

-> B-> B

B

A

클래스Class

-> MyB-> MyB

클래스 디자이너에서 상황에 맞는 메뉴 명령을 사용하여 이러한 종류의 관계를 표시하는 기능을 지원하지 않습니다.Class Designer does not support displaying this kind of relationship by using a context menu command.

#include <vector>

Typedef MyIntVect std::vector<int>;

Class MyVect : MyIntVect {};

std::vector<T>

클래스Class

MyIntVect : std::vector<int>

형식 정의typedef

MyVect

클래스Class

-> MyIntVect-> MyIntVect

참고 항목See Also

Visual C++ 코드 작업(클래스 디자이너) Working with Visual C++ Code (Class Designer)
typedef 지정자typedef Specifier