정교한 형식 지정자
정교한 형식 지정자를 형식 이름으로 앞에입니다 있는 class, struct, enum, 또는 union 키워드.
class identifier
struct identifier
enum identifier
union identifier
설명
정교한 형식 지정자 나 강조 하기는 동일한 범위에서 이름이 같은 변수를 선언 하 여 숨겨져 있는 형식 이름을 표시 하려면 사용 됩니다.
다음 문은 선언에서 Window 클래스 이름과 식별자입니다.이 구문은 클래스의 전방 선언에 사용 됩니다.클래스 이름에 대 한 자세한 내용은 클래스 이름.
class Window;
이름을 사용 하 여 선언 되는 경우는 union 키워드를 사용 또한 정의 되어야 합니다는 union 키워드.이름을 사용 하 여 정의 되는 클래스 키워드를 사용 하 여 선언할 수 있습니다는 struct 키워드 (또는 그 반대로).따라서 다음 코드 샘플은 법률은 다음과 같습니다.
예제
// elaborated_type_specifiers1.cpp
struct A; // Forward declaration of A.
class A // Define A.
{
public:
int i;
};
int main()
{
}
// elaborated_type_specifiers2.cpp
class A; // Forward declaration of A
struct A
{
private:
int i;
};
int main()
{
}
// elaborated_type_specifiers3.cpp
union A; // Forward declaration of A
union A
{
int i;
char ch[2];
};
int main()
{
}
그러나 다음 예제에서는 사용할 수 없습니다.
// elaborated_type_specifiers4.cpp
union A; // Forward declaration of A.
struct A
{ // C2011
int i;
};
// elaborated_type_specifiers5.cpp
union A; // Forward declaration of A.
class A
{ // C2011
public:
int i;
};
// elaborated_type_specifiers6.cpp
struct A; // Forward declaration of A.
union A
{ // C2011
int i;
char ch[2];
};