logo

C++-strukturer

I C++ er klasser og strukturer tegninger som brukes til å lage forekomsten av en klasse. Strukturer brukes til lette gjenstander som rektangel, farge, punkt osv.

I motsetning til klasse, er strukturer i C++ verditype enn referansetype. Det er nyttig hvis du har data som ikke er ment å bli endret etter opprettelse av struktur.

hva gjør en pc rask

C++-struktur er en samling av ulike datatyper. Det ligner på klassen som inneholder forskjellige typer data.

Syntaksen for struktur

 struct structure_name { // member declarations. } 

I erklæringen ovenfor er en struktur deklarert ved å gå foran struct nøkkelord etterfulgt av identifikatoren (strukturnavn). Inne i de krøllete klammeparentesene kan vi deklarere medlemsvariablene av forskjellige typer. Tenk på følgende situasjon:

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

I tilfellet ovenfor er Student en struktur som inneholder tre variabler navn, id og alder. Når strukturen er deklarert, blir det ikke tildelt noe minne. Når variabelen til en struktur er opprettet, blir minnet tildelt. La oss forstå dette scenariet.

Hvordan lage forekomsten av Structure?

Strukturvariabel kan defineres som:

Student s;

hvordan åpne en fil med java

Her er s en strukturvariabel av typen Student . Når strukturvariabelen er opprettet, vil minnet bli tildelt. Studentstrukturen inneholder en char-variabel og to heltallsvariabler. Derfor er minnet for én tegnvariabel 1 byte og to ints vil være 2*4 = 8. Det totale minnet som er okkupert av s-variabelen er 9 byte.

Slik får du tilgang til variabelen til struktur:

Variabelen til strukturen kan nås ved ganske enkelt å bruke forekomsten av strukturen etterfulgt av prikken (.)-operatoren og deretter feltet til strukturen.

javascript strengtrim

For eksempel:

 s.id = 4; 

I uttalelsen ovenfor får vi tilgang til id-feltet til strukturen Student ved å bruke punktum(.) operator og tildeler verdien 4 til id-feltet.

C++ struktureksempel

La oss se et enkelt eksempel på struct Rectangle som har to dataelementers bredde og høyde.

 #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: Bruke konstruktør og metode

La oss se et annet eksempel på struktur der vi bruker konstruktøren til å initialisere data og metode for å beregne arealet av rektangelet.

 #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 tilgangsspesifikasjonen ikke er deklarert eksplisitt, vil tilgangsspesifikasjonen som standard være offentlig. Hvis tilgangsspesifikasjonen ikke er deklarert eksplisitt, vil tilgangspesifikasjonen som standard være privat.
Syntaks for struktur:

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

klasse klassenavn
{
// kroppen til klassen.
}
Forekomsten av strukturen er kjent som 'Strukturvariabel'. Forekomsten av klassen er kjent som 'Klassens objekt'.