struct (C++)
Le mot clé d' struct définit un type de structure et/ou une variable d'un type structure.
[template-spec] struct[ms-decl-spec] [tag [: base-list ]]
{
member-list
} [declarators];
[struct] tag declarators;
Paramètres
template-spec
Fonctionnalités facultatives de modèle.Pour plus d'informations, consultez Caractéristiques de modèle.struct
le mot clé d' struct.ms-decl-spec
spécification facultative de classe de stockage.Pour plus d'informations, consultez le mot clé de __declspec .tag
le nom de type donné à la structure.La balise devient un mot réservé dans la portée de la structure.L'indicateur est facultatif.Si omis, une structure anonyme est définie.Pour plus d'informations, consultez Types de classe anonymes.base-list
la liste facultative de classes ou de structures cette structure dérivera ses membres de.Consultez Classes de base pour plus d'informations.chaque nom de classe de base ou de structure peut être précédé par un spécificateur d'accès (public, privé, protégé) et le mot clé de virtuel .Consultez le tableau d'accès de membre dans Contrôler l'accès aux membres de classe pour plus d'informations.member-list
Liste des membres de structures.Pour plus d'informations, consultez Membres de classe.La seule différence ici est qu' struct est utilisé à la place d' class.declarators
Liste des déclarateurs spécifiant les noms de la classe.Les listes de déclarateur déclarent une ou plusieurs instances du type structure.Les déclarateurs peuvent inclure des listes d'initialiseurs si toutes les données membres de la classe sont public.Les listes d'initialiseurs sont courantes dans les structures car les données membres sont public par défaut.Consultez Vue d'ensemble des déclarateurs pour plus d'informations.
Notes
Un type de structure est un type composite défini par l'utilisateur.Elle est constituée des champs ou des membres qui peuvent avoir des types.
En C++, une structure est identique à celui d'une classe sauf que ses membres sont public par défaut.
Pour plus d'informations sur les classes managées et les structs, consultez Classes et structures.
À l'aide d'une structure
En C, vous devez utiliser explicitement le mot clé d' struct pour déclarer une structure.En C++, cette opération est inutile une fois que le type a été défini.
Vous avez la possibilité de déclarer des variables lorsque le type de structure est défini en plaçant un ou plusieurs noms de variables séparés par des virgules entre l'accolade fermante et le point-virgule.
Les variables de structure peuvent être initialisées.L'initialisation de chaque variable doit être placée entre accolades.
Pour plus d'informations, consultez classe, union, et l' enum.
Exemple
// 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