У Ц++, класе и структуре су нацрти који се користе за креирање инстанце класе. Структуре се користе за лагане објекте као што су правоугаоник, боја, тачка итд.
За разлику од класе, структуре у Ц++ су тип вредности него референтни тип. Корисно је ако имате податке који се не мењају након креирања структуре.
како онемогућити режим програмера у андроиду
Ц++ структура је збирка различитих типова података. Слично је класи која садржи различите типове података.
Синтакса структуре
struct structure_name { // member declarations. }
У горњој декларацији, структура је декларисана претходом струцт кључна реч након чега следи идентификатор (име структуре). Унутар витичастих заграда можемо декларисати променљиве чланова различитих типова. Размотрите следећу ситуацију:
struct Student { char name[20]; int id; int age; }
У горњем случају, Студент је структура која садржи три варијабле наме, ид и аге. Када је структура декларисана, меморија се не додељује. Када се креира променљива структуре, тада се додељује меморија. Хајде да разумемо овај сценарио.
Како креирати инстанцу структуре?
Структурна варијабла се може дефинисати као:
Студенти;
компоненте робота
Овде је с структурна променљива типа Ученик . Када се креира променљива структуре, меморија ће бити додељена. Структура ученика садржи једну цхар променљиву и две целобројне променљиве. Према томе, меморија за једну променљиву цхар је 1 бајт, а два инта ће бити 2*4 = 8. Укупна меморија коју заузима променљива с је 9 бајтова.
Како приступити променљивој структуре:
Променљивој структуре се може приступити једноставним коришћењем инстанце структуре иза које следи оператор тачка (.), а затим поље структуре.
ламбда функција јава
На пример:
s.id = 4;
У горњој изјави приступамо пољу ид структуре Студент користећи тачка (.) оператор и додељује вредност 4 пољу ид.
Пример структуре Ц++
Хајде да видимо једноставан пример структуре правоугаоника који има два члана података ширину и висину.
#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>
Пример Ц++ структуре: Коришћење конструктора и метода
Хајде да видимо још један пример структуре где користимо конструктор да иницијализујемо податке и метод за израчунавање површине правоугаоника.
#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>
Структура в/с Класа
Структура | Класа |
---|---|
Ако спецификација приступа није експлицитно декларисана, онда ће по подразумеваној вредности спецификација приступа бити јаван. | Ако спецификација приступа није експлицитно декларисана, онда ће по подразумеваној вредности спецификација приступа бити приватан. |
Синтакса структуре: струцт име_структуре { // тело структуре. } | Синтакса класе: класа име_класе { // тело класе. } |
Инстанца структуре је позната као 'Променљива структуре'. | Инстанца класе је позната као 'Објекат класе'. |