logo

C++ štruktúry

V C++ sú triedy a štruktúry plány, ktoré sa používajú na vytvorenie inštancie triedy. Štruktúry sa používajú pre ľahké objekty, ako je obdĺžnik, farba, bod atď.

Na rozdiel od triedy sú štruktúry v C++ hodnotovým typom ako referenčným typom. Je to užitočné, ak máte údaje, ktoré nie sú určené na úpravu po vytvorení štruktúry.

matematické metódy v Jave

Štruktúra C++ je súbor rôznych typov údajov. Je podobná triede, ktorá obsahuje rôzne typy údajov.

Syntax štruktúry

 struct structure_name { // member declarations. } 

Vo vyššie uvedenej deklarácii je štruktúra deklarovaná predchádzajúcim kľúčové slovo struct za ktorým nasleduje identifikátor (názov štruktúry). Vo vnútri zložených zátvoriek môžeme deklarovať členské premenné rôznych typov. Zvážte nasledujúcu situáciu:

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

Vo vyššie uvedenom prípade je študent štruktúrou obsahujúcou tri premenné name, id a age. Keď je štruktúra deklarovaná, nie je pridelená žiadna pamäť. Keď sa vytvorí premenná štruktúry, potom sa pridelí pamäť. Pochopme tento scenár.

Ako vytvoriť inštanciu Structure?

Štruktúrna premenná môže byť definovaná ako:

Študent s;

vrhnúť do struny

Tu s je štruktúrna premenná typu Študent . Po vytvorení premennej štruktúry sa pridelí pamäť. Študentská štruktúra obsahuje jednu char premennú a dve celočíselné premenné. Pamäť pre jednu premennú char je teda 1 bajt a dva inty budú 2*4 = 8. Celková pamäť obsadená premennou s je 9 bajtov.

Ako získať prístup k premennej štruktúry:

K premennej štruktúry možno pristupovať jednoduchým použitím inštancie štruktúry, za ktorou nasleduje operátor bodka (.) a potom pole štruktúry.

vyhlásenie o prípade verilog

Napríklad:

 s.id = 4; 

Vo vyššie uvedenom príkaze pristupujeme k poľu id štruktúry Študent pomocou bodka(.) operátor a priradí hodnotu 4 do poľa id.

Príklad štruktúry C++

Pozrime sa na jednoduchý príklad štruktúry Rectangle, ktorá má dva dátové členy šírku a výšku.

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

Príklad štruktúry C++: Použitie konštruktora a metódy

Pozrime sa na ďalší príklad štruktúry, kde používame konštruktor na inicializáciu údajov a metódu na výpočet plochy obdĺžnika.

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

Štruktúra v/s Trieda

Štruktúra Trieda
Ak nie je špecifikátor prístupu deklarovaný explicitne, štandardne bude špecifikátor prístupu verejný. Ak nie je špecifikátor prístupu deklarovaný explicitne, potom bude štandardne špecifikátor prístupu súkromný.
Syntax štruktúry:

struct názov_štruktúry
{
// telo štruktúry.
}
Syntax triedy:

class názov_triedy
{
// telo triedy.
}
Inštancia štruktúry je známa ako 'Structure variable'. Inštancia triedy je známa ako „Objekt triedy“.