|
2 / 2 / 0
Регистрация: 19.12.2013
Сообщений: 216
|
||||||
Явное преобразование int в bool13.09.2015, 13:46. Показов 10166. Ответов 23
Метки нет (Все метки)
0
|
||||||
| 13.09.2015, 13:46 | |
|
Ответы с готовыми решениями:
23
Явное преобразование своего класса в int
|
|
TheGreatCornholio
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
|
||
| 13.09.2015, 15:43 | ||
|
сравнить каждое свойство 1го объекта, с соответствующим свойством 2го. Таким образом, 2 объекта равны, если равно их содержание. Класс "монстр" имеет 3 свойства - хп, патроны, имя. Значит "2 монстра равны", если хп1 == хп2, ammo1 == ammo2, name1 == name2. Равны должны быть все свойства, значит используем оператор "И" - &&. А оператор "==" возвращает bool - true или false. Если свойства классов равны, то в итоге выражение получится таким: true && true && true, и вернет оно true. Но, если, хотя бы 1 параметр не равен другому, например имя, true && true && false, благодаря И вернет false.
0
|
||
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
|
|
| 13.09.2015, 18:11 | |
|
Тут нет никакого преобразования. Простое сравнение полей класса.
0
|
|
|
|
|
| 13.09.2015, 21:00 | |
|
Поскольку метод ToString() в реализации уже перегружен, то для упрощения задачи можно просто сравнивать строковые значения объектов, перед этим сравнив на неравнозначность ссылок.
0
|
|
|
|
||
| 13.09.2015, 21:45 | ||
|
0
|
||
|
2 / 2 / 0
Регистрация: 19.12.2013
Сообщений: 216
|
|
| 14.09.2015, 15:09 [ТС] | |
|
Woldemar89, А как компилятор ( может не компилятор, не знаю как правильно) по какой команде определяет, что надо в данном выражении : return health == temp.health && ammo == temp.ammo && name == temp.name; подставлять на место health и temp.health , соотвественно ammo и temp.ammo и т.д. ?
0
|
|
|
TheGreatCornholio
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
|
|
| 14.09.2015, 15:19 | |
|
Владимирл, читай мой предыдущий пост пока не поймешь. Там все разжевано, дальше некуда.
0
|
|
|
2 / 2 / 0
Регистрация: 19.12.2013
Сообщений: 216
|
|
| 14.09.2015, 16:24 [ТС] | |
|
Woldemar89, Строка 17 программы : if (obj == null || GetType() != obj.GetType()) return false;
obj == null это понятно, а вот GetType() != obj.GetType() не пойму : obj.GetType() это определение типа Y ,а что обозначает GetType() ?
0
|
|
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
|
|
| 14.09.2015, 16:34 | |
|
0
|
|
|
2 / 2 / 0
Регистрация: 19.12.2013
Сообщений: 216
|
|
| 14.09.2015, 17:19 [ТС] | |
|
Someone007, Уточняю GetType() в левой части выражения GetType() != obj.GetType() . Правая часть выражения определяет тип Y и не должна быть равна…… , а вот что в левой части ??? Здесь же происходит сравнение 2-х типов .
0
|
|
|
|
||||||||||||||||
| 14.09.2015, 17:27 | ||||||||||||||||
|
Владимирл, Эта строчка
Эта строка
Это
0
|
||||||||||||||||
|
2 / 2 / 0
Регистрация: 19.12.2013
Сообщений: 216
|
|
| 14.09.2015, 18:44 [ТС] | |
|
Storm23, Правильно ли будет сказать , что GetType() в левой части выражения GetType() != obj.GetType() это
оператор , определяющий тип объекта , вызвавшего метод . А GetType() в правой части выражения это метод , определяющий тип аргумента , переданного в метод Equals ??? То есть это не два метода GetType() , а оператор и метод GetType()
0
|
|
|
2 / 2 / 0
Регистрация: 19.12.2013
Сообщений: 216
|
|
| 14.09.2015, 19:33 [ТС] | |
|
Storm23, Сейчас я читаю и разбираю программы по книге Т.А. Павловская “C# программирование на языке высокого уровня “ эта программа со стр. 185 Книга хорошая для обучения, но у меня не хватает практического опыта , чтобы понять отдельные места.
Будем считать , что это 2 метода. Хотя я встречал в Интернете , что есть оператор GetType() Для чего в этой программе метод ToString() ? Он же ничего не делает. Что он есть , что его нет. Добавлено через 15 секунд Storm23, Сейчас я читаю и разбираю программы по книге Т.А. Павловская “C# программирование на языке высокого уровня “ эта программа со стр. 185 Книга хорошая для обучения, но у меня не хватает практического опыта , чтобы понять отдельные места. Будем считать , что это 2 метода. Хотя я встречал в Интернете , что есть оператор GetType() Для чего в этой программе метод ToString() ? Он же ничего не делает. Что он есть , что его нет.
0
|
|
|
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
|
|
| 14.09.2015, 20:01 | |
|
GetType() = this.GetType()
так понятнее?
0
|
|
|
2 / 2 / 0
Регистрация: 19.12.2013
Сообщений: 216
|
|
| 14.09.2015, 20:26 [ТС] | |
|
valera_21, В программе есть this.health = health; this.ammo = ammo; this.name = name; это ясно. Такое как Вы пишете : GetType() = this.GetType() не встречал. А догадками заниматься для человека не имеющего опыта по существу , я имею ввиду себя , практически нет смысла.
И если действительно есть GetType() = this.GetType() Что это значит ???
0
|
|
|
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
|
|
| 14.09.2015, 20:40 | |
|
Владимирл, емае... я имел ввиду, что левая часть равнозначна правой
0
|
|
|
2 / 2 / 0
Регистрация: 19.12.2013
Сообщений: 216
|
|
| 14.09.2015, 20:55 [ТС] | |
|
valera_21, Можете уточнить , а то слова мы понимаем каждый по своему . Скажем как выражают свои мысли математики . Спасибо !
0
|
|
|
2 / 2 / 0
Регистрация: 19.12.2013
Сообщений: 216
|
|
| 16.09.2015, 14:24 [ТС] | |
|
Woldemar89, Для чего в этой программе метод GetHashCode()? Можно как бы и без него .
0
|
|
| 16.09.2015, 14:24 | |
|
Помогаю со студенческими работами здесь
20
Преобразование типа int в тип bool невозможно Неявное преобразование типа int в bool. Как исправить? Неявное преобразование типа int в bool невозможно. Код прилагается Явное и не явное преобразование типов - разобраться в понятии Ошибка "Неявное преобразование int в bool не возможно" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера 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. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|