0 / 0 / 3
Регистрация: 07.07.2014
Сообщений: 37
|
|||||||||||
1 | |||||||||||
Дополните мои знания (структуры и перечисления)30.06.2016, 19:47. Показов 629. Ответов 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 | 2 | |||||||||||||||
Вот эта строка не очень красивая
Кликните здесь для просмотра всего текста
И да, я писал это на C, но не думаю, что у вас возникнут проблемы с пониманием З.Ы. Если интересно, вот мой код.
1
|
7 / 7 / 9
Регистрация: 22.10.2015
Сообщений: 74
|
|||||||||||
30.06.2016, 21:06 | 3 | ||||||||||
Вот эта строка не очень красивая
У вас маленькая программа, поэтому понять, что такое 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 |
Приступаю к написанию))
По поводу понял) Я когда с Java знакомился (был на курсах Epam) приводили такой стиль написания. Насчет ... Кажется в Java так принято опять же. В C++ очень часто видел как пишут через нижнее почеркивание. Всё таки что выбрать? С этим у меня всегда проблема. Я иногда не понимаю как назвать тот или иной параметр в методе класса или в функции. Что насчет параметров? Как их называть? Добавлено через 4 минуты Почему NULL, а не nullptr? (уточняю, т.к. был у меня спорный момент с однокурсником, он говорит, что лучше nullptr)
0
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
|
30.06.2016, 22:46 | 5 |
nullptr лучше.
Представим, что в классе есть два конструктора, один принимает скажем int, другой void *. Если сконструировать объект с NULL, то какой из двух конструкторов вызовется?
2
|
0 / 0 / 3
Регистрация: 07.07.2014
Сообщений: 37
|
|
30.06.2016, 23:08 [ТС] | 6 |
Объясните, я не знаю(
0
|
2443 / 1841 / 406
Регистрация: 15.12.2013
Сообщений: 8,238
|
|
30.06.2016, 23:34 | 7 |
alexkrasny, будет полезнее самому найти ответ на этот вопрос или выдвинуть свою версию с обоснованием, а вас поправят при необходимости.
0
|
7 / 7 / 9
Регистрация: 22.10.2015
Сообщений: 74
|
|
01.07.2016, 00:35 | 8 |
Можно и через нижнее подчёркивание, но я редко такое вижу
я только 1 курс закончил, и нам про это не говорили, да и в книге этого тоже не было ( хотя скорее всего книга слишком старая ) Называйте так, чтобы было понятно, что вы передаёте Например вот 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 | 9 |
Достаточно написать себе простейший пример, скомпилировать и запустить.
Добавлено через 41 секунду Все просто, достаточно посмотреть на тип NULL и nullptr.
0
|
27 / 27 / 16
Регистрация: 18.05.2016
Сообщений: 128
|
|
01.07.2016, 09:51 | 10 |
nonedark2008, проверил, при вызове с NULL происходит конфликт, а с nullptr - void* вызывается, Не объясните, почему так?
0
|
0 / 0 / 3
Регистрация: 07.07.2014
Сообщений: 37
|
|
01.07.2016, 09:53 [ТС] | 11 |
И как мне, как новичку, придумать этот пример? Сделаю два указателя: один = NULL, другой = nullptr. И что дальше?
0
|
27 / 27 / 16
Регистрация: 18.05.2016
Сообщений: 128
|
|
01.07.2016, 09:54 | 12 |
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 | |
01.07.2016, 09:54 | |
Помогаю со студенческими работами здесь
12
Структуры и перечисления Структуры и перечисления C# Структуры и Перечисления Перечисления, Структуры, Интерфейсы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |