Sdílet prostřednictvím


Elaborované specifikátory typu

Specifikátor rozpracovaného typu je název typu, který předchází některé z klíčových slov class, struct, enum nebo union.

class identifier 
struct identifier 
enum identifier 
union identifier

Poznámky

Specifikátor rozpracovaného typu se používá pro zdůraznění nebo zobrazení názvu typu, který je skryt deklarací proměnné se stejným názvem ve stejném rozsahu.

Následující příkaz deklaruje identifikátor Window jako název třídy.Tato syntaxe je použita pro dopředné deklarace tříd.Další informace o názvech tříd naleznete v tématu Názvy tříd.

class Window;

Pokud je název deklarován pomocí klíčového slova union, musí být také definováno pomocí klíčového slova union.Názvy, které jsou definovány pomocí klíčového slova class mohou být deklarovány pomocí klíčového slova struct (a naopak).Proto jsou následující ukázky kódu přípustné:

Příklad

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

Následující příklady jsou však nepřípustné:

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

Viz také

Referenční dokumentace

Specifikátory typu jazyka C++