Поделиться через


Использование 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 префикс пространства имен.

  • Имя нельзя использовать в качестве имен конструктора или деструктора внутри объявления класса.

Вкратце, такой синтаксис не предоставляет никаких механизм наследования, создания или удаления.

См. также

Ссылки

описатель typedef