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í.