Struktur (C++)
Das struct-Schlüsselwort definiert einen Strukturtyp und/oder eine Variable eines Strukturtyps.
[template-spec] struct[ms-decl-spec] [tag [: base-list ]]
{
member-list
} [declarators];
[struct] tag declarators;
Parameter
template-spec
Optionale Vorlagenspezifikationen.Weitere Informationen finden Sie unter Vorlagen-Spezifikation.struct
Das struct- Schlüsselwort.ms-decl-spec
Optionale Spezifikation Speicherklassen.Weitere Informationen finden Sie in der __declspec-Schlüsselwort an.tag
Der Typname der Struktur angegeben.Das Tag ist ein reserviertes Wort im Rahmen der Struktur.Das Tag ist optional.Wenn sie nicht angegeben wird, wird eine anonyme Struktur definiert.Weitere Informationen finden Sie unter Anonyme Klassentypen.base-list
Optionale Liste von Klassen oder Strukturen diese Struktur berechnet seine Member.Weitere Informationen finden Sie unter Basisklassen.Jeder Name der Basisklasse oder Struktur kann durch einen Zugriffsspezifizierer (Öffentlich, Private, geschützt) und vom virtuell-Schlüsselwort vorangestellt werden.Weitere Informationen finden Sie in ACCESS-Tabelle die Member Steuern des Zugriffs auf Klassenmember .member-list
Liste der Strukturmember.Weitere Informationen finden Sie unter Klassenmember.Der einzige Unterschied besteht darin, dass anstelle structclassverwendet wird.declarators
Deklaratoren Liste mit den Namen der Klasse angibt.Deklaratoren deklarieren Sie eine oder mehrere Instanzen des Strukturtyps.Deklaratoren enthalten möglicherweise Initialisierungslisten, wenn alle Datenmember der Klasse publicsind.Initialisierungslisten in Strukturen sind gleich, weil public Datenmember der Standardeinstellung sind.Weitere Informationen finden Sie unter Übersicht über Deklaratoren.
Hinweise
Ein Strukturtyp ist ein benutzerdefinierter zusammengesetzter Typ.Sie wird von Feldern oder den Member zusammen, die unterschiedliche Typen aufweisen können.
In C++ ist eine Struktur mit einer Klasse, mit der Ausnahme, dass seine Member sind standardmäßig public .
Weitere Informationen über verwaltete Klassen und Strukturen finden Sie unter Klassen und Strukturen.
Verwenden einer Struktur
In C# müssen Sie das struct-Schlüsselwort explizit verwenden, um eine Struktur zu deklarieren.In C++ ist dies nicht erforderlich, wenn der Typ definiert wurde.
Sie haben die Möglichkeit, Deklarierens von Variablen, wenn der Strukturtyp definiert ist, indem Sie eine oder mehrere durch Trennzeichen getrennten zwischen dem Variablennamen und die schließende Klammer ein Semikolon gesetzt werden.
Variablen können Struktur initialisiert werden.Die Initialisierung für jede Variable muss in Klammern eingeschlossen werden.
Weitere Informationen finden Sie unter Klasse, Unionund Enumeration.
Beispiel
// 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