Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Перегрузка оператора "==" и "="
|
|||
|---|---|---|---|
|
#18+
Писала программу для сложения/ вычитания/умножения матриц в которые надо было посылать разные типы. Для int все работало float, но надо было ее добавить тип простая дробь. Не могу реализовать перегрузки операторов "==" и "=". "=" пыталась перегрузить, но как-то криво вышло Еще есть проблемка с оператора %. Я его перегрузила, но не могу понять как его реализовать с float В общем у меня выдает три ошибки: бинарный "==": не найден оператор, принимающий левый операнд типа "drobi" (или приемлемое преобразование отсутствует) бинарный "=": не найден оператор, принимающий правый операнд типа "int" (или приемлемое преобразование отсутствует) %: недопустимо, левый операнд имеет тип "float" Очень нужна помощь с решением этих проблем. Header.h Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 7.cpp Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 23:25 |
|
||
|
Перегрузка оператора "==" и "="
|
|||
|---|---|---|---|
|
#18+
Iridze, авторdrobi(int chisl, int zn) { chislitel = chisl; znamenatel = zn; } drobi() { chislitel = 0; znamenatel = 0; } Используй инициализаторы, а не присваивание в теле конструктора. Также, если уж ты программист, учись писать названия переменных НА АНГЛИЙСКОМ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2018, 13:27 |
|
||
|
Перегрузка оператора "==" и "="
|
|||
|---|---|---|---|
|
#18+
Iridze, Код: plaintext 1. Должно быть (не по правилам языка, а по здравой логике) Код: plaintext 1. И так по всем операторам. friend НЕ ИСПОЛЬЗУЙ если это не обязательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2018, 13:30 |
|
||
|
Перегрузка оператора "==" и "="
|
|||
|---|---|---|---|
|
#18+
Iridze, Код: plaintext 1. Не пиши отладочную печать в теле функций. Пиши ТЕСТЫ. Печатай ВЕСЬ КЛАСС, а не отдельную переменную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2018, 13:32 |
|
||
|
Перегрузка оператора "==" и "="
|
|||
|---|---|---|---|
|
#18+
IridzeВ общем у меня выдает три ошибки: бинарный "==": не найден оператор, принимающий левый операнд типа "drobi" (или приемлемое преобразование отсутствует) бинарный "=": не найден оператор, принимающий правый операнд типа "int" (или приемлемое преобразование отсутствует) %: недопустимо, левый операнд имеет тип "float" У тебя ВСЕ операции принимают один из операндов ПО ЗНАЧЕНИЮ. А конструктора копирования, чтобы твои классы передавать по значению, у тебя НЕТ. 0) конструкторы копирования и (возможно) перемещения надо добавить. 1) оператор присваивания надо добавить. 2) сигнатуры ВСЕХ операций переделать как было указано выше. 3) operator = должен возвращать *this, а не произвольный тип. Остальное думаю надо смотреть после исправления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2018, 13:35 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=21&tid=2017938]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 18ms |
| total: | 163ms |

| 0 / 0 |
