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<<'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'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<<'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 'Structure variable'. </td> <td>The instance of the class is known as 'Object of the class'.</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<<\'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 'Structure variable'. </td> <td>The instance of the class is known as 'Object of the class'.</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'. |