Основное отличие: C ++ - это объектно-ориентированный язык, который в основном ориентирован на объекты. Класс в C ++ может быть определен как набор связанных переменных и функций, инкапсулированных в единую структуру. Экземпляры класса называются объектами. Структура в C ++ может называться определяемым пользователем типом данных, обладающим собственными операциями. В отличие от языка C, они оба очень похожи в C ++. Основное различие, которое существует между ними, касается модификатора доступа; члены класса по умолчанию являются закрытыми, тогда как члены структуры являются открытыми по умолчанию.
Класс в C ++ - это просто расширение структуры, используемой в языке Си. Это определенный пользователем тип данных. Он фактически связывает данные и связанные с ними функции в одном блоке. Структура и класс на языке Си сильно отличаются, так как структура имеет ограниченные функциональные возможности и возможности по сравнению с классом. С другой стороны, структура и класс в C ++ очень похожи. Основное различие возникает из-за того, что по умолчанию все члены класса являются частными, тогда как по умолчанию все члены структуры являются открытыми.
Сравнение между классом и структурой в C ++:
Учебный класс | Состав | |
Определение | Класс в C ++ может быть определен как набор связанных переменных и функций, инкапсулированных в единую структуру. | Структура может упоминаться как определенный пользователем тип данных, обладающий своими собственными операциями. |
Ключевое слово для декларации | Учебный класс | Struct |
Спецификатор доступа по умолчанию | Частный | общественного |
пример | класс myclass { частный: int data; общественности: myclass (int data_): Данные (data_) {} virtual void foo () = 0; виртуальный класс () {} }; | struct myclass { частный: int data; общественности: myclass (int data_): Данные (data_) {} virtual void foo () = 0; виртуальный класс () {} }; |
Цель | Абстракция данных и дальнейшее наследование | Как правило, группировка данных |
Тип | Ссылка | Значение |
использование | Обычно используется для больших объемов данных. | Обычно используется для небольших объемов данных. |