Класе и структуре

Структуре – уопштено

Структуре су сложени типови података који се састоје од одређеног броја елемената. Елементи структура називају се поља структура, могу да буду међусобно различитих типова и обележавају се идентификаторима. Да би се приступило пољу структуре, потребно је навести и идентификатор структуре чијем пољу жели да се приступи.
Поља структура могу бити произвољног простог или сложеног типа. То значи да поља структура могу бити друге структуре, али и низови. Могу да се образују и низови чији су елементи структуре.

Структуре се обично користе за описивање сложених, апстрактних објеката, нпр:

  • тачка у равни се описује координатама x и y
  • комплексан број се описује реалним и имагинарним делом
  • аутомобил се описује регистарским бројем, ознаком модела, годином прозводње, називом произвођача, именом власника…
  • књига се описује именом аутора, насловом, називом издавача, годином издавања, бројем страница…

Структура се сматра типом података који дефинише програмер. Општи облик дефиниције структуре је:

struct име_структуре {низ_декларација};

име_структуре је идентификатор за идентификацију структуре која се дефинише.
низ_декларација служи за набрајање поља структуре. Свака декларација у низу има облик наредбе за дефинисање података:
тип поље, поље, … поље;
– тип представља основни тип свих поља у декларацији
– Поља су идентификатори поља са евентуалним модификаторима, којима се означава да је неко поље низ или показивач датог основног типа. Тип поља структуре не може да буде структура која се управо дефинише, али може да буде показивач на такву структуру.

Пољима структуре приступа се помоћу бинарног оператора .
Први операнд тог оператора је податак структурног типа s, а други операнд је идентификатор поља p такве структуре: s.p

Ако је ps показивач на структуру, пољу p те структуре приступа се помоћу: (*ps).p    Заграде су неопходне.
Због врло честе употребе показивача на структуре дефинисан је и бинарни оператор -> за приступ пољу p структуре на коју показује показивач ps: ps->p

Поља структура су подаци (прости или сложени) којима може да се образује адреса изразом &s.p. ако се та адреса додељује неком показивачу px (px=&s.p) пољу x унутар структуре s може да се приступа и изразом *px.

Структуре у језику C++ су класе за чије се чланове подразумева да су јавни. Од тога може да се одступа уметањем ознака private: и public:

За дефинисање „интелигентних“ објеката са предвиђеним радњама над њиховим вредностима треба користити класе. Структуре треба користити само за описивање структурираних података који немају особине „објеката“ у смислу објектно оријентисаног програмирања.

Дефинисање структуре и класе:

код структуре најпре се наводе јавни (подразумевано) чланови, а затим приватни, ако постоје:

struct A
 {
 …
 private:
 …
 };

код класе се прво наводе приватни чланови, а тек потом јавни:

class B
{
 …
 public:
 …
 };
Advertisements

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се / Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се / Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се / Промени )

Google+ photo

Коментаришет користећи свој Google+ налог. Одјавите се / Промени )

Повезивање са %s