|
3 / 3 / 2
Регистрация: 04.07.2015
Сообщений: 187
|
|
Зачем нужны классы?20.09.2015, 13:36. Показов 7197. Ответов 5
Метки нет (Все метки)
Изучаю СИ++ после изучения СИ. Не пойму какой смысл в классах. То что они делают можно реализовать с помощью функций, структур и обычных переменных и массивов. Или я не прав? Для чего нужны классы?
0
|
|
| 20.09.2015, 13:36 | |
|
Ответы с готовыми решениями:
5
Зачем нужны классы? Зачем нужны классы и структуры?
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 20.09.2015, 13:44 | |
|
Ну если в коде 1000 раз надо сокрыть части 1000 структур , то написание class вместо struct поможет сократить код на 1000 строчек...
0
|
|
|
|
|||
| 20.09.2015, 13:45 | |||
|
Это примерно как в математике. Есть декартова система координат, а есть полярная. Одна ничем не лучше второй. Просто в одних случаях удобнее одна, в других - другая. Классы - это НЕ единственное, на что упирается Си++. Классы во многом являются основой, на которой базируется шаблонное программирование. Зачем нужны классы скорее всего никто сразу не понимал. Поимев практический опыт работы, со временем понимание приходит само собой
1
|
|||
|
3 / 3 / 2
Регистрация: 04.07.2015
Сообщений: 187
|
||||||
| 20.09.2015, 14:32 [ТС] | ||||||
|
Этот код можно рассматривать как ООП? Доступ к функциям del и sum мы не имеем, они как бы "методы класса" (функции) ddaa.
0
|
||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 20.09.2015, 14:54 | ||
|
объектно ориентированная парадигма - это способ абстрагирования, при котором конструкции на языке воспринимаются программистом, как сущности наделенные свойствами и умениями. в вашем случае таких ярко выраженных сущностей нет. ------------------------------------------ кроме того, развитый ооп предполагает наличие наследования и полиморфизма. на языке си вы можете эмулировать наследование посредством агрегирования, а полиморфизм - посредством указателей на функции-члены, и велосипедирования механизма виртуальных функций-членов. в этом случае вы сможете получить оо-архитектуру на языке си. но это будет полностью ручная работа. гораздо удобнее сразу же писать код на языке, который поддерживает такую парадигму, и компилятор возьмет на себя всю рутину.
1
|
||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 20.09.2015, 15:06 | ||
|
1) Конструкторы, деструкторы. Нет, вы можете их вызывать руками, но оно надо? Куда удобнее, если о вызове деструктора голова болит у компилятора. 2) Виртуальные функции. Можно, конечно, сделать через указатели на функции, но опять же, вам нужен такой геморрой, если все можно автоматизировать? 3) Приватные поля класса, заведенные под внутренние нужды. Дают уверенность что никакой левый код к этим полям напрямую не обращается. В Си, как я понимаю, создать поле структуры "для служебного пользования" нельзя.
1
|
||
| 20.09.2015, 15:06 | |
|
Помогаю со студенческими работами здесь
6
Не могу понять зачем нужны классы Зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может больше 4 байт весить? Зачем нужны операторы << и >> Зачем нужны макросы?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|