Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для kalonord
28 / 28 / 5
Регистрация: 27.01.2014
Сообщений: 784

Долго ли вы привыкали к объектам и классам?

29.01.2015, 20:54. Показов 1625. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Недавно дошел до главы, где начинаются классы, объекты и т.п... До сих пор, всё делал в функции main и там всё писал по порядку, так и выполнялось. А сейчас взять тот же класс, в нем объект, который имеет некоторое кол-во элемент-функций. В общем, принцип я понял, но как-то привыкнуть не могу, если попытаюсь создать свой класс - не могу выполнить задачу, одни косяки... Еще эти аргументы функций.. Что-то и куда-то возвращает значение.. Ужс
У всех были подобного типа сложности? И если да, то справились ли вы?)

И как вообще можно всё упомнить, когда пишешь код? Одна элемент-функция делает одно, другая - другое, одна куда-то возвращает какое-то значение и т.п. Ну это ладно, у меня в классе всего один объект и несколько элем.-функций, а что если куча этих классов и объектов? Комментарии спасают?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.01.2015, 20:54
Ответы с готовыми решениями:

Задача по объектам и классам
Задача из книги Праты. Дан заголовочный файл, нужно определить методы и написать программу. Компилируется , но выводится какая-то...

Посоветуйте литературу по объектам и классам
Посоветуйте литературу по объектам и классам...

Задача по классам и объектам
Описать указанный класс (методы перечислены в скобках, поля выбрать самостоятельно). Создать и инициализировать экземпляр этого класса....

14
102 / 44 / 18
Регистрация: 08.01.2015
Сообщений: 97
29.01.2015, 20:59
Цитата Сообщение от kalonord Посмотреть сообщение
Долго ли вы привыкали к объектам и классам?
С первой дозы . А чё ?
0
 Аватар для kalonord
28 / 28 / 5
Регистрация: 27.01.2014
Сообщений: 784
29.01.2015, 21:00  [ТС]
И да, спустя долгое время понял, что возвращают функции и куда. Если бы сразу знал, что int = integer,
char - character и т.п. то было бы проще, английский чуть-чуть помогает в понимании.

Добавлено через 48 секунд
Цитата Сообщение от Phoenix_Max Посмотреть сообщение
А чё ?
Интерес.
0
102 / 44 / 18
Регистрация: 08.01.2015
Сообщений: 97
29.01.2015, 21:08
Как -то не парился особо. В чужих библиотеках пришлось разбираться. А потому пришлось осваивать классы,ООП и т.д и тп. Постепенно на С++ и С# переполз. Иначе сидел бы на Си.
1
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
29.01.2015, 21:17
Цитата Сообщение от kalonord Посмотреть сообщение
И как вообще можно всё упомнить, когда пишешь код? Одна элемент-функция делает одно, другая - другое, одна куда-то возвращает какое-то значение и т.п. Ну это ладно, у меня в классе всего один объект и несколько элем.-функций, а что если куча этих классов и объектов? Комментарии спасают?
Называй функции согласно их назначению.
Не делай слишком большие функции (если не помещается в один экран - это уже повод подумать).
Называй параметры функций понятными именами, согласно их назначению.
Тоже самое относится к именам классов.
Пользуйся const в тех случаях, где он необходим.
Комментарии, как правило, не спасают, т.к. имеют свойство устаревать. Это особенно заметно в больших проектах. Но комментирование сложных участков кода является, тем не менее, хорошей практикой. Но как и любым инструментом, комментариями не стоит злоупотреблять.
2
 Аватар для kalonord
28 / 28 / 5
Регистрация: 27.01.2014
Сообщений: 784
30.01.2015, 00:31  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
если не помещается в один экран - это уже повод подумать
А как быть с тем, если у меня монитор 1024х768? Получается, что на широкоформатниках еще место будет в строке. В принципе то мне сейчас всё равно, я только с примерами из учебника работаю. Просто интересно, как можно сделать, допустим, чтоб исходник на всех мониторах отображался одинаково.
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
30.01.2015, 00:42
никак. на счет помещения на монитор - это примерная метрика. в строчках еще измеряют.
со временем придет понимание что длинно, а что номр.
на счет одинаково выглядящих исходников: тут разве что настроить свой редактор,
чтобы он вместо табов пробелы втыкал. не важно сколько, лишь бы пробелы.
если так не сделать, то в других редакторах вся аккуратно расставленные отступы поедут
и код станет сверхкривым. это потому, что у всех разный размер таба в пробелах.
2
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
30.01.2015, 00:48
Цитата Сообщение от kalonord Посмотреть сообщение
взять тот же класс, в нем объект, который имеет некоторое кол-во элемент-функций. В общем, принцип я понял
Вот как-то сомневаюсь я в том, что понял. А вот еще
Цитата Сообщение от kalonord Посмотреть сообщение
у меня в классе всего один объект и несколько элем.-функций
объект - экземпляр класса. А что Вы подразумеваете под понятием "объект"?
0
 Аватар для kalonord
28 / 28 / 5
Регистрация: 27.01.2014
Сообщений: 784
30.01.2015, 09:08  [ТС]
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
А что Вы подразумеваете под понятием "объект"?
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
объект - экземпляр класса
Получается, что не так выразился. Имел в виду объект, принадлежащий классу. Или опять не так?

Я понял, что это экземпляр, приводился пример с автомобилем в книге.
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
30.01.2015, 09:41
Цитата Сообщение от kalonord Посмотреть сообщение
Или опять не так?
Если есть сложности с терминологией, напишите минимальный понятный пример кода.
1
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
30.01.2015, 14:14
Если попробовать использовать аналогии, то так:
Класс (тип, созданный пользователем) - чертёж. Объект данного типа (экземпляр класса) - изделие, выполненное по этому чертежу.

Ну или вот так ещё:
Класс - меню. Экземляр класса - еда.
Класс - карта. Экземляр класса - территория.
Класс - план здания. Экземпляр класса - само здание.

Добавлено через 8 минут
Чтобы проще было понимать, попробуйте отталкиваться от понимания базовых типов и типов (классов) из STL.
Вот что такое тип int, или тип double, или тип char?
Что такое переменная типа int? Переменная типа char?

Создаёте Вы переменную по имени, скажем myVariable типа int - вот Вам и объект, тип которого int.
А если создаёте переменную myString типа string, то будет Вам объект уже с другими свойствами (возможностями, ограничениями).

Та же петрушка и с пользовательскими типами (то есть, классами). Только все свойства (особенности, возможности, ограничения) данного типа Вы задаёте сами.

Добавлено через 11 минут
Вот, к примеру, какой-то добрый и умный дядька взял и написал класс std::string.
А Вы создаёте экземляр этого класса (иными словами, объект типа string) - какую-то строку.
Например так:
C++
1
string myFirstString = "At last, my first string has been created. I'm so happy!";
Что Вы сделали? Вы создали объект класса string. Или, другими словами, экземпляр класса string. Переменную типа string. Строку типа string.

Собственно, Вы даже можете не знать, как устроен класс string. Вам достаточно прочитать в книжке по С++ или на сайте по С++ как работают методы (функции-члены) этого класса - то есть, что же, собственно, можно делать со строками типа string.

Это так же, как с автомобилем. Класс - это чертёж автомобиля. Сам автомобиль - экземляр класса (объект данного типа). По данному чертежу могут быть созданы тысячи подобных автомобилей. А водитель (пользователь) даже может не знать внутреннего устройства автомобиля - ему достаточно знать внешний интерфейс, "методы класса автомобиль" (как крутить руль, когда и на какие педали жать, как передачи переключать, как включить поворотники, аварийку, дворники и т.п.)

Добавлено через 24 минуты
Цитата Сообщение от kalonord Посмотреть сообщение
И как вообще можно всё упомнить, когда пишешь код? Одна элемент-функция делает одно, другая - другое, одна куда-то возвращает какое-то значение и т.п. Ну это ладно, у меня в классе всего один объект и несколько элем.-функций, а что если куча этих классов и объектов? Комментарии спасают?
Спасает смена ракурса, смена точки зрения. Другими словами, расширение восприятия, сдвиг точки сборки.
Вы сейчас смотрите на предмет с позиции жертвы. Помните, как в школьные годы многие (а может и Вы были среди таких - я точно был) ныли: "Ох, блин, эти физики-математики, понапридумывали всякой ерунды, а мы теперь из-за них сиди, зубри, учи, мучайся".
Но учёные, изобретатели, первооткрыватели, исследователи не собирались нас мучить. Они про нас не знали и не думали. Они наслаждались, когда делали свои открытия. Потому что их позиция была позицией творца, создателя, придумщика, фантазёра, мечтателя. И если Вам удастся начать думать так же, вы увидите, насколько многое стало проще и понятнее.
Представьте, что Вам задали задачу - разработать язык программирования навроде С++. Если Вы будете читать книжку не с позиции ученика, который вынужден зубрить, а с позиции творца (такого же учителя-наставника, как автор учебника), изучающего методы работы своего коллеги, то Вы многие нюансы начнёте воспринимать по-другому.

Добавлено через 7 минут
А чисто технически - спасают и говорящие названия классов и методов, и коментарии, и многократные упражнения (создание собственных классов, помощь новичкам на форуме), и чтение книжек. Много факторов. Если Вы будете заниматься этим в течение какого-то времени и не бросите, то постепенно привыкните. Новое станет привычным, перестанет пугать и запутывать. Частенько, именно так новое знание и входит в нашу жизнь. Не во всём сразу бывает "как будто всю жизнь этим только и занимался". В каких-то сферах проще, в других нужно больше упорства, усидчивости, настойчивости, терпения, усилий, труда.
4
 Аватар для kalonord
28 / 28 / 5
Регистрация: 27.01.2014
Сообщений: 784
30.01.2015, 17:14  [ТС]
Цитата Сообщение от gru74ik Посмотреть сообщение
В каких-то сферах проще, в других нужно больше упорства, усидчивости, настойчивости, терпения, усилий, труда
Иногда читаю и что-то напрочь не понимаю, даже если объяснять будут подробно, кидаю программирование со словами "может быть не дано?". В итоге всё равно возвращаюсь к СПП и каким-то таинственным образом те вещи, которые не понимал, стали понятными, хотя я с ними вообще не связывался, просто пришло понимание со временем и всё.

Добавлено через 3 минуты
И еще всегда пытаюсь получить как можно больше информации, но не выходит, от этого появляются сомнительные вопросы в изучении С++, вопросы об эффективности обучения.
1
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
30.01.2015, 17:15
А чего к ним вообще привыкать?
0
 Аватар для kalonord
28 / 28 / 5
Регистрация: 27.01.2014
Сообщений: 784
30.01.2015, 19:26  [ТС]
Цитата Сообщение от taras atavin Посмотреть сообщение
А чего к ним вообще привыкать?
Ко всему новому в какой-то степени надо привыкать, разве нет?
1
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
30.01.2015, 19:32
К каждой переменной в своём проекте тоже привыкаешь? Видимо до бесконечности и времени для написания проги не остаётся. К закорючке, каких может добавляться штук до пяти в минуту, тратить время на привыкание нельзя.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.01.2015, 19:32
Помогаю со студенческими работами здесь

Назовите что это? Определения по классам, объектам и методам
Назовите что это? Тема: классы, объекты и методы. Назовите как называется или проверьте правильно ли я их назвал, назвать или проверить...

Добавление полей ко всем классам (не объектам) с определенным атрибутом
static class Program { static void Main() { var types = from assembly...

Долго загружается Windows 7. Тормозят браузеры, долго открываются программы
При старте системы после логотипа Windows на черном фоне появляется привычный синий фон Windows где обычно отображается форма для ввода...

Долго прогружается, там где бегунок тусклый экран долго, а потом загрузка
JcXM1tJV3c8

Долго загружается нетбук. Долго открываются все окна (проводник, плееры, браузеры, прочее)
Добрый вечер. В последнее врем нетбук стал очень долго "думать". Почистил память в дисках C и D. На время стал немного лучше работать....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
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. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru