logo

Structures C++

En C++, les classes et les structures sont des modèles utilisés pour créer l'instance d'une classe. Les structures sont utilisées pour les objets légers tels que Rectangle, couleur, Point, etc.

Contrairement aux classes, les structures en C++ sont de type valeur plutôt que de type référence. C'est utile si vous disposez de données qui ne sont pas destinées à être modifiées après la création de la structure.

qu'est-ce que l'uri

Structure C++ est une collection de différents types de données. Elle est similaire à la classe qui contient différents types de données.

La syntaxe de la structure

 struct structure_name { // member declarations. } 

Dans la déclaration ci-dessus, une structure est déclarée en précédant le mot-clé de structure suivi de l'identifiant (nom de la structure). À l’intérieur des accolades, nous pouvons déclarer les variables membres de différents types. Considérez la situation suivante :

 struct Student { char name[20]; int id; int age; } 

Dans le cas ci-dessus, Student est une structure contenant trois variables : nom, identifiant et âge. Lorsque la structure est déclarée, aucune mémoire n'est allouée. Lorsque la variable d'une structure est créée, alors la mémoire est allouée. Comprenons ce scénario.

Comment créer l’instance de Structure ?

La variable de structure peut être définie comme :

Étudiants;

Actrice Sai Pallavi

Ici, s est une variable de structure de type Étudiant . Lorsque la variable de structure est créée, la mémoire sera allouée. La structure étudiante contient une variable char et deux variables entières. Par conséquent, la mémoire pour une variable char est de 1 octet et deux entiers seront 2*4 = 8. La mémoire totale occupée par la variable s est de 9 octets.

Comment accéder à la variable de Structure :

La variable de la structure est accessible en utilisant simplement l'instance de la structure suivie de l'opérateur point (.) puis du champ de la structure.

npm nettoyer le cache

Par exemple:

 s.id = 4; 

Dans l'instruction ci-dessus, nous accédons au champ id de la structure Student en utilisant le point(.) et attribue la valeur 4 au champ id.

Exemple de structure C++

Voyons un exemple simple de struct Rectangle qui a deux données membres largeur et hauteur.

 #include using namespace std; struct Rectangle { int width, height; }; int main(void) { struct Rectangle rec; rec.width=8; rec.height=5; cout&lt;<'area of rectangle is: '<<(rec.width * rec.height)<<endl; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Area of Rectangle is: 40 </pre> <h2>C++ Struct Example: Using Constructor and Method</h2> <p>Let&apos;s see another example of struct where we are using the constructor to initialize data and method to calculate the area of rectangle.</p> <pre> #include using namespace std; struct Rectangle { int width, height; Rectangle(int w, int h) { width = w; height = h; } void areaOfRectangle() { cout&lt;<'area of rectangle is: '<<(width*height); } }; int main(void) { struct rec="Rectangle(4,6);" rec.areaofrectangle(); return 0; < pre> <p> <strong>Output:</strong> </p> <pre> Area of Rectangle is: 24 </pre> <p> <strong>Structure v/s Class</strong> </p> <table class="table"> <tr> <th>Structure</th> <th>Class</th> </tr> <tr> <td>If access specifier is not declared explicitly, then by default access specifier will be public. </td> <td>If access specifier is not declared explicitly, then by default access specifier will be private.</td> </tr> <tr> <td>Syntax of Structure: <br> <br> struct structure_name <br> { <br> // body of the structure. <br> }</td> <td>Syntax of Class: <br> <br> class class_name <br> { <br> // body of the class. <br> }</td> </tr> <tr> <td>The instance of the structure is known as &apos;Structure variable&apos;. </td> <td>The instance of the class is known as &apos;Object of the class&apos;.</td> </tr> </table></'area></pre></'area>

Exemple de structure C++ : utilisation du constructeur et de la méthode

Voyons un autre exemple de structure où nous utilisons le constructeur pour initialiser les données et la méthode pour calculer l'aire du rectangle.

 #include using namespace std; struct Rectangle { int width, height; Rectangle(int w, int h) { width = w; height = h; } void areaOfRectangle() { cout&lt;<\'area of rectangle is: \'<<(width*height); } }; int main(void) { struct rec="Rectangle(4,6);" rec.areaofrectangle(); return 0; < pre> <p> <strong>Output:</strong> </p> <pre> Area of Rectangle is: 24 </pre> <p> <strong>Structure v/s Class</strong> </p> <table class="table"> <tr> <th>Structure</th> <th>Class</th> </tr> <tr> <td>If access specifier is not declared explicitly, then by default access specifier will be public. </td> <td>If access specifier is not declared explicitly, then by default access specifier will be private.</td> </tr> <tr> <td>Syntax of Structure: <br> <br> struct structure_name <br> { <br> // body of the structure. <br> }</td> <td>Syntax of Class: <br> <br> class class_name <br> { <br> // body of the class. <br> }</td> </tr> <tr> <td>The instance of the structure is known as &apos;Structure variable&apos;. </td> <td>The instance of the class is known as &apos;Object of the class&apos;.</td> </tr> </table></\'area>

Structure contre classe

Structure Classe
Si le spécificateur d’accès n’est pas déclaré explicitement, alors par défaut le spécificateur d’accès sera public. Si le spécificateur d’accès n’est pas déclaré explicitement, alors par défaut le spécificateur d’accès sera privé.
Syntaxe de la structure :

struct nom_structure
{
// corps de la structure.
}
Syntaxe de classe :

classe nom_classe
{
// corps de la classe.
}
L'instance de la structure est appelée « Variable de structure ». L'instance de la classe est appelée « Objet de la classe ».