|
23 / 20 / 3
Регистрация: 12.08.2010
Сообщений: 206
|
|
Отличия между структурами и классами18.08.2010, 12:38. Показов 27590. Ответов 58
Метки нет (Все метки)
Объясните пожалуйста, в С++, получается, что структура отличается от класса только тем, что у нее по умолчанию все данные public?
Т.е. наследовать структуры я тоже могу. Тогда как-то непонятен смысл создания двух одинаковых типов объектов, только что с разными названиями.
2
|
|
| 18.08.2010, 12:38 | |
|
Ответы с готовыми решениями:
58
Отличия между классами и массивами
Отличия между классами для работы с интернетом |
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 18.08.2010, 12:40 | |
Сообщение было отмечено как решение
Решение
half-node, Совместимость с Си.
3
|
|
|
23 / 20 / 3
Регистрация: 12.08.2010
Сообщений: 206
|
|
| 18.08.2010, 12:41 [ТС] | |
|
1
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 18.08.2010, 12:58 | |
|
half-node, Структуры - совместимость с языком Си. В С++ структуры и классы эквивалентны, кроме доступа по умолчанию.
Добавлено через 15 минут Хотя... Не уверен что в классе можно определить битовые поля, как в структуре, но наверное тоже можно. Да можно. Тогда ничем, кроме доступа
1
|
|
|
23 / 20 / 3
Регистрация: 12.08.2010
Сообщений: 206
|
|
| 18.08.2010, 13:03 [ТС] | |
|
Спасибо. Более или менее ясно.
0
|
|
|
|
||
| 18.08.2010, 13:05 | ||
|
в Си++ вообще лучше пользоваться классами.
1
|
||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||
| 18.08.2010, 13:49 | ||
|
Если набор данных не имеет собственного поведения лучше его оформить в виде структуры.
0
|
||
|
Мат в 32 хода
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
|
|
| 18.08.2010, 16:49 | |
|
CyBOSSeR, а можно в структурах объявлять функции?
0
|
|
|
23 / 20 / 3
Регистрация: 12.08.2010
Сообщений: 206
|
|||
| 18.08.2010, 16:54 [ТС] | |||
|
Добавлено через 2 минуты Только я вот не уверен, точнее не знаю, имеет ли структура конструктор. Подозреваю, что нет. Ошибся))
Вообще вот ссылка на MSDN по этому вопросу. Если вдруг кому-то пригодится, как мне.
2
|
|||
|
4340 / 1509 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
|
|
| 18.08.2010, 16:59 | |
|
half-node, там про структуры CLR
0
|
|
|
Модератор
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
|
|||||||
| 18.08.2010, 17:00 | |||||||
Сообщение было отмечено как решение
Решение
3
|
|||||||
|
23 / 20 / 3
Регистрация: 12.08.2010
Сообщений: 206
|
||
| 18.08.2010, 17:04 [ТС] | ||
|
easybudda, спасибо! Буду знать. Только вот теперь вообще я потерялся в смысле существования класса, если есть структура, которая поддерживает все тоже самое.
0
|
||
|
Модератор
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
|
||||||
| 18.08.2010, 17:10 | ||||||
|
half-node, просто считайте синонимами объявления
0
|
||||||
|
23 / 20 / 3
Регистрация: 12.08.2010
Сообщений: 206
|
|
| 18.08.2010, 17:15 [ТС] | |
|
А зачем пользоваться типом struct, если есть эквивалентный class?
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||
| 18.08.2010, 17:28 | ||
|
0
|
||
|
23 / 20 / 3
Регистрация: 12.08.2010
Сообщений: 206
|
||
| 18.08.2010, 17:31 [ТС] | ||
|
0
|
||
|
|
||
| 19.08.2010, 17:52 | ||
|
Не только в обьявлениях внутренных членов, но и при наследовании. В остальном - абсолютно идентичны (в С++ ) Смысл закрытости по умолчанию в том, что бы дизайнер на автомате не открывал всевозможные данные, а предоставлял интерфейс только к тому, что надо. Кроме того, само название struct указывает, что речь идёт о структуре данных и все. class - это обобщение некоего обьекта, у к-рого есть поведение и т.д.
0
|
||
|
5 / 6 / 4
Регистрация: 18.11.2009
Сообщений: 661
|
|
| 27.07.2011, 23:47 | |
|
Не знаю, если отвлечься от формализма. По существу по-моему класс отличается от структуры - наличием методов и может быть свойств. И может быть событий, хотя в ANSI C++ события специально не поддерживаются. Хотя как писалось ниже в С++ можно в структуры включать функции, считаю это излишней вольностью.
По моему объект предметной обласnи описывается классом на С++ только если у него есть какой-то метод (функция) меняющая его свойства или создающая новое свойство). Вот по этой то причине я мучался с классами представляющими модель квартира-комнаты. В самом деле свойств дофига, а хоть один метод? Если отвлечься от тривиальных - расчет кубатуры по размерам комнаты. Если не интересоваться скажем процессами включения/выключения света как в некот учебн примерах классов - то вроде ничего. Ну может по смыслу задачи подойдет метод -прописка чел на жилплощади.
1
|
|
|
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
|
||||||
| 28.07.2011, 01:37 | ||||||
|
структуры больше походят для простых сущностей например
1
|
||||||
| 28.07.2011, 01:37 | |
|
Помогаю со студенческими работами здесь
20
Разница между классами и структурами и другие моменты Отличия между ++value и value++ Отличия между видеокартами Отличия между книгами Отличия между DVD Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|