Другие языки программирования и технологии
Извините за тупой вопрос, но для чего в c++ нужны классы? Для того что бы было легко отсортировать код или ещё зачем?
Всё просто. Когда размеры проекта достигают критического уровня, его становится сложно поддерживать. Исключительно по этой причине и была придумана парадигма ООП.
Trontin Ruh
Спасибо что легко объяснили) То есть это надо для поддержки крупных проектов... Мне кажется функция немного (Но не совсем) на это похожа
помню, давно это было. отцы основатели с++ заскучали от простоты своего детища, и решили нагрузить его. все-таки конкуренция с F++ была дикая
Trontin Ruh
Так для чего нужны классы? Как они пригодятся?
Trontin Ruh
А что сейчас с f++? Я это соетание символов только пару раз случайно видел)))
В C++ классы и структуры - одно и то же. Структуры тоже могут иметь мембер функции и единственное отличие что в структуре по дефолту всё паблик а в классах - прайвет. Поскольку по дефолту оставлять - дурной стиль, то согласен что классы не нужны.
ну концепция ооп такова, что в двух словах ее не опишешь :)
так что бегом в гугл искать про концепцию ооп :)
так что бегом в гугл искать про концепцию ооп :)
Чтобы распределить код по файлам, достаточно модулей, статических классов.
А те классы, для которых можно создавать объекты, нужны прежде всего в тех случаях, когда нужно много объектов идентичного типа, скажем, много окон, каждое из которых имеет набор координат и другие свойства, которые можно задавать программно.
Можно было бы обойтись структурами, а методы для работы с объектом структуры (скажем, скрыть или показать окно) сделать внешними глобальными, раньше так и делали (пример - WinAPI).
Но удобнее и понятнее, когда набор доступных методов привязан к классу: скажем, класс Window можно спрятать, показать, развернуть во весь экран, а класс MouseCursor - только спрятать и показать, т. к. разворачивать на полную курсор ни к чему.
Также для удобных манипуляций с методами. От Window можно унаследовать класс MessageBox, объект которого поддерживает методы показать и спрятать (не приходится для этого класса переписывать эти методы заново, а достаточно взять из Window), но не поддерживает разворачивание в экран.
А те классы, для которых можно создавать объекты, нужны прежде всего в тех случаях, когда нужно много объектов идентичного типа, скажем, много окон, каждое из которых имеет набор координат и другие свойства, которые можно задавать программно.
Можно было бы обойтись структурами, а методы для работы с объектом структуры (скажем, скрыть или показать окно) сделать внешними глобальными, раньше так и делали (пример - WinAPI).
Но удобнее и понятнее, когда набор доступных методов привязан к классу: скажем, класс Window можно спрятать, показать, развернуть во весь экран, а класс MouseCursor - только спрятать и показать, т. к. разворачивать на полную курсор ни к чему.
Также для удобных манипуляций с методами. От Window можно унаследовать класс MessageBox, объект которого поддерживает методы показать и спрятать (не приходится для этого класса переписывать эти методы заново, а достаточно взять из Window), но не поддерживает разворачивание в экран.
Trontin Ruh
То есть классы обычно нужны только в самых крупных проектах?!
Не знаю, как оно было на самом деле, но, по-видимому, задумка была такая: заменить статичные билиотеки так, чтобы код линковался динамически, по мере надобности, давая на выходе маленький и компактный экзешник. Не знаю, что курил Б. Страуструп и чем разгонялись разрабы, но результат - всё с точностью до наоборот: гондурас распухает с космической скоростью от любого чиха!
тремя буквами - OOП.
Trontin Ruh
ООП это ясно, а пригодится как?
Похожие вопросы
- Извините за тупой вопрос, но у меня есть знакомый молодой программист. Так вот, всех программистов в ВУЗах подозревают в
- Ещё тупой вопрос по C++ :)
- Тупые вопросы по C#) Конструкторы, set, get.
- Вопрос связан с олимпиадой по информатике! (Нужные знания языков pascal или c++)
- Зачем нужны классы в c++? Никак не могу понять... Что такое private, public зачем они нужны и т. д?
- Вопрос по C++, по классам, можно ли назвать классы объектами? что значит public и private
- Двоичный код быстрее языков программирования по типу c++? (Я знаю что эти языки тоже написаны на двоичном коде)
- Программка c# нужна помощь
- Вопрос тем, кто отлично знает C++
- c++ нужна помощь