|
0 / 0 / 3
Регистрация: 07.07.2014
Сообщений: 37
|
|||||||||||
Дополните мои знания (структуры и перечисления)30.06.2016, 19:47. Показов 800. Ответов 11
Метки нет (Все метки)
Здравствуйте. Изучаю основы ООП C++. Хочу сделать вот какую штуку!
1) Хочу выкладывать исходники на C++ по заданной теме из ООП. 2) Хотел бы узнать то, что не реализовал в данной теме. 3) Хотел бы иметь замечания по написанию переменных (английский на низком уровне у меня), а также замечания или добавления по написанию самого кода (что-то типо: "С профессиональной точки зрения, это пишется так..." или "Никто так не пишет уже! Все пользуются вот этим..." или "Вы не написали как это делать..." и т.п.). Благодаря Вам, я хочу "зашпаклевать" свои недочеты и восполнить пробелы. Хотелось бы стать более "знающим". Для начала своего ознакомления (я уже 2 года в универе на "КБ", но программирование там на нижайшем уровне) я посмотрел курс "Основы ООП C++" канала LOFTBLOG. Ссылки: https://vk.com/videos-101965347?section=album_524 https://www.youtube.com/watch?v=A_NTqmCs5Vo И вот мои два первых проекта по теме "Структуры и перечисления". 1)
0
|
|||||||||||
| 30.06.2016, 19:47 | |
|
Ответы с готовыми решениями:
11
Упростить Мои Кривые знания по Math Оцените мои знания веб разработчика пожалуйста [уровень наверно сложный] верны ли мои знания и sql по ним |
|
7 / 7 / 9
Регистрация: 22.10.2015
Сообщений: 74
|
||||||||||||||||
| 30.06.2016, 20:47 | ||||||||||||||||
|
Вот эта строка не очень красивая
Кликните здесь для просмотра всего текста
И да, я писал это на C, но не думаю, что у вас возникнут проблемы с пониманием З.Ы. Если интересно, вот мой код.
1
|
||||||||||||||||
|
7 / 7 / 9
Регистрация: 22.10.2015
Сообщений: 74
|
|||||||||||
| 30.06.2016, 21:06 | |||||||||||
|
Вот эта строка не очень красивая
У вас маленькая программа, поэтому понять, что такое b1,b2 и т.д. не составляет труда, но в больших программах, будете долго вспоминать, что это за b1 такой и зачем вы его вообще добавили. Очень удобно называть структуру или класс Book, а переменные этого типа называть book ( или book_1 ) Я не знаю, что знаете вы, но на всякий случай скажу. Ф-ции принято называть таким образом setCoordPosition. В начале пишется действие ( в данном случае установка значения ), а затем остальное (причём выделяя каждое слово с Большой буквы). И ещё. По поводу переменных. В вы практически не ограничены в памяти, так что не смысла сокращать названия ( не только переменных, но вообще всего ). Надо писать так, чтобы любой, кто взглянул на ваш код, понял смысл большей части переменных и ф-ций , например : start_invisible_timer, или даже start_invisible_timer_for_strong_enemy. Уж лучше так, чем invis_timer. Длинно, но зато понятно.
1
|
|||||||||||
|
0 / 0 / 3
Регистрация: 07.07.2014
Сообщений: 37
|
||||||
| 30.06.2016, 22:02 [ТС] | ||||||
|
По поводу Насчет С этим Добавлено через 4 минуты
0
|
||||||
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
||
| 30.06.2016, 22:46 | ||
|
Представим, что в классе есть два конструктора, один принимает скажем int, другой void *. Если сконструировать объект с NULL, то какой из двух конструкторов вызовется?
2
|
||
|
0 / 0 / 3
Регистрация: 07.07.2014
Сообщений: 37
|
|
| 30.06.2016, 23:08 [ТС] | |
|
Объясните, я не знаю(
0
|
|
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
|
| 30.06.2016, 23:34 | |
|
alexkrasny, будет полезнее самому найти ответ на этот вопрос или выдвинуть свою версию с обоснованием, а вас поправят при необходимости.
0
|
|
|
7 / 7 / 9
Регистрация: 22.10.2015
Сообщений: 74
|
||||
| 01.07.2016, 00:35 | ||||
|
Например вот Walls(Texture &t, int X, int Y, int W, int H, Wall_type Wall, string Name, int Health = 1) Можно делать вот так: void checkCollisionWithBoard(float Dx, float Dy, float time) { ...// Так у меня выглядит ф-ция } checkCollisionWithBoard(dx, 0, time); // А вот так я её вызываю В ф-цию я передаю dx В самой ф-ции использую Dx
0
|
||||
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
||
| 01.07.2016, 09:26 | ||
|
Добавлено через 41 секунду Все просто, достаточно посмотреть на тип NULL и nullptr.
0
|
||
|
27 / 27 / 16
Регистрация: 18.05.2016
Сообщений: 128
|
|
| 01.07.2016, 09:51 | |
|
nonedark2008, проверил, при вызове с NULL происходит конфликт, а с nullptr - void* вызывается, Не объясните, почему так?
0
|
|
|
0 / 0 / 3
Регистрация: 07.07.2014
Сообщений: 37
|
||
| 01.07.2016, 09:53 [ТС] | ||
|
0
|
||
|
27 / 27 / 16
Регистрация: 18.05.2016
Сообщений: 128
|
|
| 01.07.2016, 09:54 | |
|
nonedark2008, спасибо, объяснение не нужно, много копать не пришлось. Вот что я нашёл, поправьте, если не прав.
NULL в WinDef.h описан как #define NULL 0. "Причина введения nullptr в язык С++ заключается в устранение возможных недоразумений между литералом 0 как целочисленным значением и указателем. Двойное значение литерала 0 может вызывать проблемы при некоторых обстоятельствах. Литерал nullptr имеет тип std::nullptr_t, и его нельзя перепутать со значением другого типа. Он может быть неявно преобразован в любой ссылочный тип, но ни в один целочисленный тип, кроме типа bool." - Айвор Хортон, Visual C++ 2010, Глава 4 *примечание.
1
|
|
| 01.07.2016, 09:54 | |
|
Помогаю со студенческими работами здесь
12
Структуры и перечисления C# Структуры и Перечисления Перечисления, Структуры, Интерфейсы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|