struct (C++)
Klíčové struct
slovo definuje typ struktury nebo proměnnou typu struktury.
Syntaxe
[template-spec] struct [ms-decl-spec] [tag [: base-list ]]
{
member-list
} [declarators];
[struct] tag declarators;
Parametry
template-spec
Volitelné specifikace šablony. Další informace najdete v tématu Specifikace šablony.
struct
Klíčové struct
slovo.
ms-decl-spec
Volitelná specifikace paměťové třídy. Další informace najdete v klíčovém slově __declspec .
tag
Název typu daný pro strukturu. Značka se změní na vyhrazené slovo v rámci struktury. Značka je volitelná. Pokud je tento argument vynechán, je definována anonymní struktura. Další informace naleznete v tématu Anonymní typy tříd.
základní seznam
Volitelný seznam tříd nebo struktur, ze kterých tato struktura odvodí svoje členy. Další informace najdete v tématu Základní třídy . Každému názvu základní třídy nebo struktury může předcházet specifikátor přístupu (veřejný, soukromý, chráněný) a virtuální klíčové slovo. Další informace najdete v tabulce přístupového přístupu členů v řízení přístupu k členům třídy.
seznam členů
Seznam členů struktury. Další informace najdete v přehledu člena třídy. Jediným rozdílem zde je, že struct
se používá místo class
.
deklarátory
Seznam deklarátoru určující názvy struktury. Seznam deklarátoru deklarující jednu nebo více instancí typu struktura. Deklarátory mohou obsahovat seznamy inicializátorů, pokud jsou public
všechny datové členy struktury . Seznamy inicializátorů jsou ve strukturách společné, protože datové členy jsou public
ve výchozím nastavení. Další informace najdete v tématu Přehled deklarátorů .
Poznámky
Typ struktury je složený typ definovaný uživatelem. Skládá se z polí nebo členů, které mohou mít různé typy.
V jazyce C++ je struktura stejná jako třída s tím rozdílem, že její členy jsou public
ve výchozím nastavení.
Informace o spravovaných třídách a strukturách v C++/CLI najdete v tématu Třídy a struktury.
Používání struktury
V jazyce C musíte explicitně použít struct
klíčové slovo k deklaraci struktury. V jazyce C++ není nutné po definování typu použít struct
klíčové slovo.
Proměnné můžete deklarovat, pokud je typ struktury definován umístěním jednoho nebo více názvů proměnných oddělených čárkami mezi uzavírací závorkou a středníkem.
Proměnné struktury je možné inicializovat. Inicializace pro každou proměnnou musí být uzavřena do složených závorek.
Související informace naleznete v tématu třídy, sjednocení a výčtu.
Příklad
#include <iostream>
using namespace std;
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
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
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;
cout << "sister.age = " << sister.age << '\n';
cout << "brother.age = " << brother.age << '\n';
CELL my_cell;
my_cell.character = 1;
cout << "my_cell.character = " << my_cell.character;
}
// Output:
// sister.age = 13
// brother.age = 7
// my_cell.character = 1
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro