Aracılığıyla paylaş


Elaborated türü belirteçleri

Elaborated türü belirticisi tarafından öncesinde bir tür adı olan class, struct, enum, veya union anahtar sözcüğü.

class identifier
struct identifier
enum identifier
union identifier

Notlar

Elaborated türü belirticisi vurgu veya aynı kapsamda aynı adla bir değişken bildirimi gizli bir tür adı ortaya çıkarmak için kullanılır.

Aşağıdaki ifade bildirir Window sınıf adı tanımlayıcı.Bu sözdizimi, ileriye doğru sınıf bildirimi için kullanılır.Sınıf adları hakkında daha fazla bilgi için bkz: Sınıf adları.

class Window;

Bir ad kullanarak bildirirseniz Birliği anahtar sözcüğü kullanılarak da tanımlanmalıdır Birliği anahtar sözcüğü.Kullanılarak tanımlanan adları sınıfı anahtar sözcüğünü kullanarak bildirilebilir struct anahtar sözcük (veya tersi).Bu nedenle, yasal aşağıdaki kod örnekleri şunlardır:

Örnek

// 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()
{
}

Aşağıdaki örnekler, ancak geçersiz:

// 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];
};

Ayrıca bkz.

Başvuru

C++ türü belirteçleri