다음을 통해 공유


Typedef 클래스 형식으로 사용

사용 하는 typedef 클래스 형식 지정자에서 명명 되지 않은 구조체 선언 거의 ANSI C 연습 때문에 지원 되는 typedef 선언.예를 들어, 많은 C 프로그래머는 다음을 사용 하십시오.

// typedef_with_class_types1.cpp
// compile with: /c
typedef struct {   // Declare an unnamed structure and give it the
                   // typedef name POINT.
   unsigned x;
   unsigned y;
} POINT;

이러한 선언을 선언이 있습니다 있습니다.

POINT ptOrigin;

대신:

struct point_t ptOrigin;

C + +의 차이 typedef 이름과 실제 형식 (선언는 클래스, struct, union, 및 enum 키워드) 보다는 다릅니다.하지만 이름이 없는 구조체를 선언 하는 C 방법에 typedef 문을 계속 작동, C에서 처럼 없습니다 정식 이점을 제공

// typedef_with_class_types2.cpp
// compile with: /c /W1
typedef struct {
   int POINT();
   unsigned x;
   unsigned y;
} POINT;

앞의 예제에서는 명명 된 클래스 선언 POINT 명명 되지 않은 클래스를 사용 하 여 typedef 구문입니다.POINT클래스 이름으로 간주 됩니다. 그러나 다음과 같은 제한 사항이 이러한 방식으로 도입 된 이름에 적용 됩니다.

  • 이름 (동의어) 후 나타날 수 없습니다 있는 클래스, struct, 또는 union 접두사.

  • 클래스 선언에 생성자 또는 소멸자 이름의 이름을 사용할 수 없습니다.

즉, 상속, 생성 또는 소멸 되는 방법이이 구문을 제공 하지 않습니다.

참고 항목

참조

형식 지정자를 정의