0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 40
|
|
1 | |
Класс игральная карта29.05.2013, 08:30. Показов 5155. Ответов 40
Метки нет (Все метки)
Помогите описать класс карта нужно описать ее масть и номер с двумя конструкторами, один обязательно с параметрами, помогите нужно сделать к завтрашней паре, а да еще конструктор должен обязательно задействован, и пожалуйста с переменными флоат если это возможно, но не со строками..
0
|
29.05.2013, 08:30 | |
Ответы с готовыми решениями:
40
Создать класс карта Создать класс карта по условию Игральная кость Игральная кость |
4768 / 2578 / 892
Регистрация: 29.11.2010
Сообщений: 5,576
|
|||||||||||
29.05.2013, 10:12 | 3 | ||||||||||
Бессмысленно. Попробуйте сами придумать свойство карты, описывающееся числом с плавающей точкой.
Пример использования.
1
|
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 40
|
|
29.05.2013, 13:55 [ТС] | 4 |
0
|
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 40
|
|
29.05.2013, 14:08 [ТС] | 6 |
0
|
4768 / 2578 / 892
Регистрация: 29.11.2010
Сообщений: 5,576
|
|
29.05.2013, 15:57 | 8 |
1
|
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 40
|
|
29.05.2013, 16:15 [ТС] | 9 |
Спасибо всем за помощь, еще можете помочь, нужно описать производный класс,содержащий поле козырь и функцию, проверяющую кроет ли карта указанную в качестве параметра другую карту с учетом козыря.
Я так понял это наследование...
0
|
177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
|
|
29.05.2013, 16:33 | 11 |
Не сказал бы что Tulosba тут придерживается плохого стиля (если говорить общо), но в данном контексте - да, неудачный вариант. Но и предложенный by lemegeton c конструктором без аргументов - тоже неудачный. Если мы работаем с такой предметной областью, то трудно себе представить карту с:
1. отсутствующим хотя бы одним из 2-х ключевых (для карты - неотъемлемых) атрибутов 2. с атрибутами, заданными по умолчанию Посему - единственных хороший вариант - мы ведь хотим, чтобы объект всегда был доступен для корректного использования - предоставить конструктор, требующий указать оба атрибута явно. А чтобы еще краше было, завести для них enum'ы для более жесткого контроля типов.
0
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
29.05.2013, 16:43 | 12 |
ITcrusader, я согласен с тем, что конструктор без параметров в данном случае довольно странная затея. Но если уж он есть (и считать, что он нужен и полезен), и есть конструктор с параметрами (который тоже нужен и полезен), то почему бы не объединить их в один с параметрами по умолчанию. Вот это для меня не понятно, и именно это я просил прояснить.
0
|
177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
|
|||||||||||
29.05.2013, 16:50 | 13 | ||||||||||
Tulosba, ну да) Я потому и был осторожен и написал
Например для точки 3D - очень даже удобно завести конструктор такой:
так что мне тоже интересно, почему это - признак плохого стиля
0
|
4768 / 2578 / 892
Регистрация: 29.11.2010
Сообщений: 5,576
|
||||||
29.05.2013, 17:04 | 14 | |||||
Джентльмены, вы не понимаете, для чего нужен конструктор без аргументов? Поясню:
0
|
177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
|
|
29.05.2013, 17:10 | 15 |
Понятно, для чего он нужен)
Непонятно, почему это: названо плохим стилем (тоже дает возможность создания массивов, векторов, как описано выше).
0
|
MrGluck
|
29.05.2013, 17:11
#16
|
Не по теме: Не мой код - говнокод
1
|
4768 / 2578 / 892
Регистрация: 29.11.2010
Сообщений: 5,576
|
|
29.05.2013, 17:33 | 17 |
Плохим стилем является объявление значений по-умолчанию для конструктора. Долго и нудно разглагольствовать, может быть позже у меня будет демагогическое настроение. В двух словах -- усложняет поддержку кода.
Добавлено через 3 минуты Естественно, земля вертится, количество вариантов бесконечно, так что бывают случаи, когда конструкторы с дефолтными значениями параметров оправданы. Да и вообще, опыт появляется от прыганья по граблям. Так что никакой демагогии не дождетесь -- пишите, как считаете нужным.
2
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||||||||||||||
29.05.2013, 21:03 | 18 | |||||||||||||||
Разница, которую я вижу в отличии кода с двумя конструкторами:
В некоторых случаях это нежелательно. Однако, добавление explicit к конструктору позволит исключить возможность такого преобразования:
Надеюсь, уважаемый lemegeton всё же снизойдет до подробностей. Можно даже без демагогии, но с конкретными примерами.
1
|
177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
|
|
29.05.2013, 21:40 | 19 |
lemegeton, я, в свою очередь, могу сказать, что дискуссию тож неохота разводить - на работе не так удобно отписывать сюда И спорить тоже не нужно, лишь просто заинтересовался характеристикой "плохой стиль", и подумал, что, быть может, чего-то интересного не знаю, а если не знаю - стремлюсь узнать.
Что касается вопроса сопровождения - возможно да, иногда усложняет, не натыкался, но да т.е. все зависит от предметной области и требуемых ограничений на политику работы с классом, взять, хотя бы, мой пример с точками, где такой прием, не насаждаю, кажется мне коротким и удобным. P.S. этот пост не имеет целью продолжить дискуссию на эту тему, думаю, мы пришли к консенсусу
0
|
Tulosba
|
29.05.2013, 21:54
Класс игральная карта
#20
|
0
|
29.05.2013, 21:54 | |
игральная кость игральная кость Игральная кость (поправить код) Игральная кость бросается 1 раз Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |