I C++ är klasser och strukturer ritningar som används för att skapa instansen av en klass. Strukturer används för lätta föremål som rektangel, färg, punkt, etc.
Till skillnad från klass är structs i C++ värdetyp än referenstyp. Det är användbart om du har data som inte är avsedda att ändras efter att strukturen skapats.
java gör medan exempel
C++-struktur är en samling av olika datatyper. Det liknar klassen som innehåller olika typer av data.
Strukturens syntax
struct structure_name { // member declarations. }
I ovanstående deklaration deklareras en struktur genom att föregå struct nyckelord följt av identifieraren (strukturnamn). Inuti de lockiga hängslen kan vi deklarera medlemsvariabler av olika typer. Tänk på följande situation:
struct Student { char name[20]; int id; int age; }
I ovanstående fall är Student en struktur som innehåller tre variabler namn, id och ålder. När strukturen deklareras tilldelas inget minne. När variabeln för en struktur skapas, tilldelas minnet. Låt oss förstå detta scenario.
Hur skapar man instansen av Structure?
Strukturvariabel kan definieras som:
Student s;
maskinskrivet datum och tid
Här är s en strukturvariabel av typen Studerande . När strukturvariabeln skapas kommer minnet att tilldelas. Elevstrukturen innehåller en char-variabel och två heltalsvariabler. Därför är minnet för en char-variabel 1 byte och två ints blir 2*4 = 8. Det totala minnet som upptas av s-variabeln är 9 byte.
Så här kommer du åt variabeln Structure:
Strukturens variabel kan nås genom att helt enkelt använda instansen av strukturen följt av punktoperatorn (.) och sedan strukturens fält.
bash-arrayer
Till exempel:
s.id = 4;
I ovanstående uttalande kommer vi åt id-fältet för strukturen Student genom att använda punkt(.) operatorn och tilldelar värdet 4 till id-fältet.
Exempel på C++-struktur
Låt oss se ett enkelt exempel på struct Rectangle som har två dataelement bredd och höjd.
#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++-strukturexempel: Använda konstruktor och metod
Låt oss se ett annat exempel på struct där vi använder konstruktorn för att initiera data och metod för att beräkna rektangelns area.
#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 Klass
Strukturera | Klass |
---|---|
Om åtkomstspecificeraren inte deklareras explicit, kommer åtkomstspecifikationen som standard att vara offentlig. | Om åtkomstspecificeraren inte deklareras explicit, kommer åtkomstspecifikationen som standard att vara privat. |
Syntax för struktur: struktur strukturnamn { // strukturens kropp. } | Syntax för klass: klass klassnamn { // klassens kropp. } |
Förekomsten av strukturen är känd som 'Strukturvariabel'. | Förekomsten av klassen är känd som 'Klassens objekt'. |