logo

C++ strukturer

I C++ er klasser og strukturer tegninger, der bruges til at oprette forekomsten af ​​en klasse. Strukturer bruges til letvægtsobjekter såsom rektangel, farve, punkt osv.

I modsætning til klasse er structs i C++ værditype end referencetype. Det er nyttigt, hvis du har data, der ikke er beregnet til at blive ændret efter oprettelse af struktur.

Få den aktuelle dato i java

C++ struktur er en samling af forskellige datatyper. Det ligner klassen, der rummer forskellige typer data.

Syntaksen for struktur

 struct structure_name { // member declarations. } 

I ovenstående erklæring er en struktur erklæret ved at gå foran struct søgeord efterfulgt af identifikatoren (strukturnavn). Inde i de krøllede seler kan vi erklære medlemsvariablerne af forskellige typer. Overvej følgende situation:

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

I ovenstående tilfælde er Student en struktur, der indeholder tre variabler navn, id og alder. Når strukturen er deklareret, tildeles der ingen hukommelse. Når variablen af ​​en struktur er oprettet, så er hukommelsen allokeret. Lad os forstå dette scenarie.

Hvordan opretter man forekomsten af ​​Structure?

Strukturvariabel kan defineres som:

Studerende;

vælg fra flere tabeller i sql

Her er s en strukturvariabel af typen Studerende . Når strukturvariablen er oprettet, vil hukommelsen blive allokeret. Elevstrukturen indeholder en char-variabel og to heltalsvariabler. Derfor er hukommelsen for en char-variabel 1 byte, og to ints vil være 2*4 = 8. Den samlede hukommelse, der er optaget af s-variablen, er 9 byte.

Sådan får du adgang til variablen for struktur:

Strukturens variable kan tilgås ved blot at bruge instansen af ​​strukturen efterfulgt af prik-operatoren (.) og derefter strukturens felt.

java bønne

For eksempel:

 s.id = 4; 

I ovenstående erklæring får vi adgang til id-feltet for strukturen Student ved at bruge prik (.) operator og tildeler værdien 4 til id-feltet.

C++ struktureksempel

Lad os se et simpelt eksempel på struct Rectangle, som har to dataelementers bredde og højde.

 #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>

C++-struktureksempel: Brug af konstruktør og metode

Lad os se et andet eksempel på struct, hvor vi bruger konstruktøren til at initialisere data og metode til at beregne arealet af rektanglet.

 #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>

Struktur v/s Klasse

Struktur klasse
Hvis adgangsspecifikationen ikke er erklæret eksplicit, vil adgangsspecifikationen som standard være offentlig. Hvis adgangsspecifikationen ikke er erklæret eksplicit, vil adgangsspecifikationen som standard være privat.
Syntaks for struktur:

struktur strukturnavn
{
// strukturens krop.
}
Syntaks for klasse:

klasse klassenavn
{
// klassens krop.
}
Forekomsten af ​​strukturen er kendt som 'Strukturvariabel'. Forekomsten af ​​klassen er kendt som 'Klassens objekt'.