Ключова різниця: C ++ є об'єктно-орієнтованою мовою, яка в основному фокусується на об'єктах. Клас в C ++ може бути визначений як сукупність пов'язаних змінних і функцій, інкапсульованих в єдину структуру. Екземпляри класу називаються об'єктами. Структуру в C ++ можна назвати типом даних, визначеним користувачем, що має власні операції. На відміну від мови C, обидва вони дуже схожі в C ++. Основна відмінність, що існує між ними, полягає в модифікаторі доступу; Члени класу за замовчуванням є приватними, тоді як члени структури є загальнодоступними.
Клас у C ++ - це просто розширення структури, що використовується на мові C. Це тип даних, визначений користувачем. Це фактично пов'язує дані та пов'язані з ними функції в одному блоці. Структура і клас на мові С багато відрізняються, оскільки структура має обмежену функціональність і особливості в порівнянні з класом. З іншого боку, структура і клас в C ++ дуже схожі. Основна відмінність виникає через те, що за замовчуванням всі члени класу є приватними, тоді як за замовчуванням всі члени структури є публічними.
Порівняння класу і структури в C ++:
Клас | Структура | |
Визначення | Клас в C ++ може бути визначений як сукупність пов'язаних змінних і функцій, інкапсульованих в єдину структуру. | Структура може називатися користувальницьким типом даних, що має власні операції. |
Ключове слово для декларації | Клас | Структура |
Специфікатор доступу за промовчанням | Приватний | Публічний |
Приклад | клас могокласу { приватний: int data; публічний: myclass (int data_): дані (дані_) {} віртуальний void foo () = 0; virtual ~ class () {} }; | struct myclass { приватний: int data; публічний: myclass (int data_): дані (дані_) {} віртуальний void foo () = 0; virtual ~ class () {} }; |
Призначення | Абстракція даних і подальше успадкування | Як правило, групування даних |
Тип | Довідка | Значення |
Використання | Зазвичай використовується для великих обсягів даних. | Зазвичай використовується для невеликих обсягів даних. |