Кључна разлика: Ц ++ је објектно оријентисани језик који се углавном фокусира на објекте. Класа у Ц ++ се може дефинисати као скуп повезаних варијабли и функција енкапсулираних у једну структуру. Случајеви класе се називају објекти. Структура у Ц ++ може се називати корисничким типом података који посједује властите операције. За разлику од језика Ц, обоје су прилично слични у Ц ++. Главна разлика која постоји између њих је у погледу модификатора приступа; чланови класе су по дефаулту приватни, док су чланови структуре по дефаулту јавни.
Класа у Ц ++ је само проширење структуре која се користи на Ц језику. То је кориснички дефинисани тип података. Он у ствари повезује податке и његове функције у једној јединици. Структура и класа на Ц језику доста се разликују јер структура има ограничену функционалност и карактеристике у односу на класу. С друге стране, структура и класа у Ц ++ су прилично сличне. Главна разлика настаје због чињенице да су по дефаулту сви чланови класе приватни, док су по дефаулту сви чланови структуре јавни.
Поређење између класе и структуре у Ц ++:
Класа | Структура | |
Дефиниција | Класа у Ц ++ се може дефинисати као скуп повезаних варијабли и функција енкапсулираних у једну структуру. | Структура се може означити као кориснички дефинисани тип података који поседује сопствене операције. |
Кључна реч за декларацију | Класа | Струцт |
Задани спецификатор приступа | Приватни | Публиц |
Пример | цласс мицласс { приватни: инт дата; публиц: мицласс (инт дата_): подаци (дата_) {} виртуал воид фоо () = 0; виртуал ~ цласс () {} }; | струцт мицласс { приватни: инт дата; публиц: мицласс (инт дата_): подаци (дата_) {} виртуал воид фоо () = 0; виртуал ~ цласс () {} }; |
Сврха | Апстракција података и даље наслеђивање | Генерално, груписање података |
Тип | Референце | Вредност |
Употреба | Углавном се користи за велике количине података. | Углавном се користи за мање количине података. |