« Langage C++/Structures, unions et champs de bits » : différence entre les versions

Aller à la navigation Aller à la recherche
(maintenance)
 
En C++ la structure simple a évolué pour suivre un modèle plus "orienté objet", désormais, il est possible et conseillé d'inclure les méthodes qui manipulent les données de la structure dans la structure elle-même. Chose qui était très lourd à faire en C. On pouvait bien créer un pointeur sur méthode mais cela n'était pas aussi trivial que ce que permet le C++.
 
{{Définition|contenu='''Syntaxe:''' <sourcesyntaxhighlight lang="cpp">
typedef struct [<NomStructure>][: <StructureParente>]
{
[[<Visibilite>:] <TypeMethodN> <NomMethodN>(<ParametresMethodN>);]
}<NomTypeStructure>;
</syntaxhighlight>
</source>
}}
 
 
Dans "TestStruct.h"
<sourcesyntaxhighlight lang="cpp">
#ifndef TESTSTRUCT_H
#define TESTSTRUCT_H
 
#endif // TESTSTRUCT_H
</syntaxhighlight>
</source>
Dans "TestStruct.cpp"
<sourcesyntaxhighlight lang="cpp">
#include "TestStruct.h"
 
}
 
</syntaxhighlight>
</source>
 
Dans "main.cpp"
<sourcesyntaxhighlight lang="cpp">
 
#include "TestStruct.h"
}
 
</syntaxhighlight>
</source>
}}
 
 
{{Définition|contenu='''Syntaxe:'''
<sourcesyntaxhighlight lang="cpp">
typedef struct [<NomStructure>]
{
[...]
}<NomTypeStructure>;
</syntaxhighlight>
</source>
}}
 
| contenu =
 
<sourcesyntaxhighlight lang="cpp">
typedef struct TestUnion
{
//....
}TestUnion;
</syntaxhighlight>
</source>
}}
 
| contenu =
 
<sourcesyntaxhighlight lang="cpp">
 
typedef struct TestStruct
//....
}TestUnion;
</syntaxhighlight>
</source>
}}
 
Bref, voici un champ de bit :
 
{{Définition|contenu='''Syntaxe:''' <sourcesyntaxhighlight lang="cpp">
typedef struct [<NomChampsBits>]
{
[<TypeChamp> [<NomChampN>] : <NombresBitsN>;]
}<NomTypeChampsBits>;
</syntaxhighlight>
</source>
}}
Où <NomChampsBits> est le nom interne des champs de bits(facultatif), <TypeChamp> est le type (ou taille totale) du champs de bit, [<NomChamp1>] et [<NomChampN>] sont les nom des sous-champs(facultatif), <NombresBits1> et <NombresBitsN> sont les taille des sous-champs, respectivement, [<NomChamp1>] et [<NomChampN>], <NomTypeChampsBits> est le nom du type donné au champs de bits
| contenu =
 
<sourcesyntaxhighlight lang="cpp">
typedef struct
{
 
}Date;
</syntaxhighlight>
</source>
}}
 
498

modifications

Menu de navigation