[c++] Итак, теперь структура может иметь виртуальную функцию и поддерживать наследование? Какая разница с классами? Какова истинная цель скрытия информации?


Answers

Question

Возможный дубликат:
Каковы различия между структурой и классом в C ++

http://www.cplusplus.com/reference/std/typeinfo/type_info/

Думаю, мой «учитель» не рассказал мне о различиях между struct и классами на C ++.

Я прочитал в другом вопросе, что относительно наследования, структура является общедоступной по умолчанию ... Я также думаю, что у структуры нет конструкторов / деструкторов ...

Каковы же тогда другие различия? Они так важны?

И когда речь идет о частных / защищенных атрибутах / методах, они недоступны во время выполнения, только потому, что компилятор сообщает об этом во время компиляции и сообщает об ошибке, верно? Затем, сравнивая эти функции с классами, что действительно «скрывает информацию» для программиста? Здесь, так что, когда кто-то повторно использует класс, этот человек не будет злоупотреблять классом, потому что частный / защищенный материал будет сообщаться компилятором?

Я все еще борюсь с реальной целью скрытия информации, он все еще хочет звучать в моей голове, так как это повышает безопасность программ, а это значит, что это не просто нарушение безопасности, но я действительно запутался в цели такого дизайна на языке ... (И я не намерен быть против C ++ в любом случае, я просто понимаю, в каких случаях эта функция может быть интересной или нет, а если нет, это не проблема, но я просто хочу знать ...).




Links