Sdílet prostřednictvím


Použití typedef s typy tříd

Použít typedef převážně z deklarování nepojmenované struktur v praxi ANSI C je podporována specifikátoru třídy typy typedef prohlášení.Mnoho programátorů c použijte například následují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;

Výhodou takové prohlášení je umožňuje prohlášení jako:

POINT ptOrigin;

namísto:

struct point_t ptOrigin;

V jazyce C++ rozdíl mezi typedef názvy a typy skutečné (s třídy, struct, unie, a enum klíčová slova) je více odlišné.Přestože c deklarování nameless struktury v praxi typedef prohlášení stále funguje, poskytuje žádné notational výhody jako C.

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

V předchozím příkladu prohlašuje třídu s názvem POINT pomocí třídy nepojmenované typedef syntaxe.POINTje považován za název třídy; názvy zavedené tímto způsobem však platí následující omezení:

  • Název (synonymum) se nemůže objevit po třídy, struct, nebo unie předponu.

  • Název nelze použít jako názvy konstruktor nebo destructor v deklaraci třídy.

V souhrnu Tato syntaxe neposkytuje mechanismus dědičnosti, stavba nebo zničení.

Viz také

Referenční dokumentace

Definice TypeDef specifikátor