Чем отличается Struct от Class ?

  • Автор темы Автор темы Guest
  • Дата начала Дата начала
G

Guest

Ходил устраиваться на работу мне задали этот вопрос я подумал и понял что я этого не знаю вот хочу узнать?
Просьбо отвечать только тем кто действительно знает не надо высказывать предположения типа может поэтому и все такое )
 
В С++ вроде бы только тем что все члены структуры по умолчанию - public, а в классе - protected.
 
<!--QuoteBegin-grigsoft+15:03:2007, 07:36 -->
<span class="vbquote">(grigsoft @ 15:03:2007, 07:36 )</span><!--QuoteEBegin-->а в классе - protected.
[snapback]59085" rel="nofollow" target="_blank[/snapback]​
[/quote]
В классе - private (Страуструп, 3 издание, глава 10.2.8)
 
Гм. Всегда считал что protected. Полез смотреть - и правда, private, спасибо. Впрочем, я все равно всегда явно указываю, так что не важно :)
Да, вот тут еще указывают разницу (http://www.codeguru.com/forum/showthread.php?t=332571) - класс наследуется как private по умолчанию, а структура - как public. Но это еще надо проверить.
 
<!--QuoteBegin-grigsoft+15:03:2007, 09:43 -->
<span class="vbquote">(grigsoft @ 15:03:2007, 09:43 )</span><!--QuoteEBegin-->класс наследуется как private по умолчанию, а структура - как public
[snapback]59097" rel="nofollow" target="_blank[/snapback]​
[/quote]
Страуструп, раздел 15.3.2:
Спецификатор доступа к базовому классу можно опустить. В этом случае, если базовым является класс, наследование будет закрытым, а если базовой является структура - то открытым.
 
Страуструп рулит, как всегда. Надо перечитать :)
 
И че все отличия?
Если вот так просто читать Страуструпа то это даже не запомнится!
Только когда ты напоришься на ошибку связанную с этим!
Может есть еще что нибудь существенное?

Никак дальше 150 страниы не дочитаю Страуструпа! Надо дочитать!)
 
Не усложняй без необходимости. Код, генерируемый для структур и классов ничем не отличается. Думаю, структуры были оставлены для совместимости и облегчения перехода С-программистов. По этому поводу надо бы Эволюцию С++ почитать, никак руки не дойдут. Если интересно - почитай, думаю там будет об этом что-нибудь.
 
<!--QuoteBegin-Щенок+15:03:2007, 20:19 -->
<span class="vbquote">(Щенок @ 15:03:2007, 20:19 )</span><!--QuoteEBegin-->Может есть еще что нибудь существенное?
[snapback]59177" rel="nofollow" target="_blank[/snapback]​
[/quote]
Больше ничего нет. Из Страуструпа: "Структура есть класс, все члены которого по умолчанию являются открытыми". Все различия обозначены выше. Вот только использовать тот же Страуструп рекомендует их несколько по разному
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab