Использование typedef класса с типами
Использование typedef описатель с типами класса поддерживается во многом из-за методики ANSI c безымянные структуры внутри объявления typedef объявления.Например, многие c# programmers используют следующие действия:
// 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;
Преимущество такого объявления, что он включает в себя объявления, как:
POINT ptOrigin;
вместо:
struct point_t ptOrigin;
Разница в C++ typedef имена и реальные типы (объявленные с класс" struct" unionи enum ключевые слова), определены.Хотя практика c# безыменную в объявление структуры typedef выписка все еще работает, он не предоставляет никаких преимуществ нотационный так как она позволяет на языке c#.
// typedef_with_class_types2.cpp
// compile with: /c /W1
typedef struct {
int POINT();
unsigned x;
unsigned y;
} POINT;
В предыдущем примере определяется класс с именем POINT использование неименованный класс typedef синтаксис.POINT рассматривается как имя класса. однако следующие ограничения применяются к именам вставили таким образом:
Имя синонима () не может входить после a класс" structили union префикс пространства имен.
Имя нельзя использовать в качестве имен конструктора или деструктора внутри объявления класса.
Вкратце, такой синтаксис не предоставляет никаких механизм наследования, создания или удаления.