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


структура (C++)

struct ключевое слово, указывающее тип структуры или переменную типа структуры.

[template-spec] struct[ms-decl-spec] [tag [: base-list ]]
{ 
   member-list 
} [declarators];
[struct] tag declarators;

Параметры

  • template-spec
    Необязательные спецификации шаблона.Для получения дополнительных сведений см. Спецификации шаблона.

  • struct
    structключевое слово.

  • ms-decl-spec
    Необязательную спецификацию хранени-класса.Дополнительные сведения см. в разделе __declspec ключевое слово.

  • tag
    Имя типа, присвоенное структуре.Тег будет зарезервированым словом в области макета.Тег необязательный.Если этот аргумент опущен, анонимная структура определена.Дополнительные сведения см. в разделе Анонимные типы классов.

  • base-list
    Необязательный список классов или структур эта структура был производным из его элементов.Дополнительные сведения см. в разделе Базовые классы.Каждое имя базового класса или структуры может предшествовать описателем доступа (Открытый" private" protected) и Виртуальный ключевое слово.См. таблицу в доступа к членам Управление доступом к членам класса для получения дополнительных сведений.

  • member-list
    Список членов структуры.Для получения дополнительных сведений см. Члены класса.Единственное различие заключается в том, что здесь то struct использует вместо class.

  • declarators
    Списке декларатора указав имена классов.Списки декларатора объявляют один или несколько экземпляров типа структуры.Деклараторы могут содержать списки инициализатора, если все члены данных класса public.Списки инициализатора общие в структурах, поскольку элементы данных public по умолчанию.Дополнительные сведения см. в разделе Общие сведения о деклараторов.

Заметки

Составной тип структуры определяемый пользователем тип.Состоит из полей или участников, которые могут иметь различные типы.

В C++ такая же, как и класс, структура, за исключением того, что ее члены public по умолчанию.

Дополнительные сведения об управляемых классах и структурах см. классы и структуры.

Использование структуры

В c# необходимо явно использовать struct ключевое слово для объявления структуры.В C++ это необязательно, как только тип был определен.

Вы можете объявить переменные, когда тип структуры определяется с помощью одного или нескольких запятая-отделенные имена переменных между заключительной расчалкой и точкой с запятой.

Переменные структуры могут быть инициализированы.Инициализация для каждой переменной должна быть заключена в скобки.

Дополнительные сведения см. в разделе класс" unionи перечисления.

Пример

// struct1.cpp
struct PERSON {   // Declare PERSON struct type
   int age;   // Declare member types
   long ss;
   float weight;
   char name[25];
} family_member;   // Define object of type PERSON

int main() {
   struct PERSON sister;   // C style structure declaration
   PERSON brother;   // C++ style structure declaration
   sister.age = 13;   // assign values to members
   brother.age = 7;
}

struct POINT {   // Declare POINT structure
   int x;   // Define members x and y
   int y;
} spot = { 20, 40 };    // Variable spot has
                        // values x = 20, y = 40

struct POINT there;     // Variable there has POINT type

struct CELL {   // Declare CELL bit field
   unsigned short character  : 8;  // 00000000 ????????
   unsigned short foreground : 3;  // 00000??? 00000000
   unsigned short intensity  : 1;  // 0000?000 00000000
   unsigned short background : 3;  // 0???0000 00000000
   unsigned short blink      : 1;  // ?0000000 00000000
} screen[25][80];       // Array of bit fields 

См. также

Ссылки

Определение типов класса