BG Development


  Reply to this topicStart new topicStart Poll

> Курсова автомобили, Проблем с предефиниране на оператор <
bokoto83
Публикувано на: 10-02-2020, 12:32
Quote Post



Име: Валентин
Група: Потребител
Ранг: Новопостъпил

Мнения: 3
Регистриран на: 10.02.20



Здравейте , имам курсова с която има да се направят няколко подточки едната от която е : метод за предефиниране на операцията "<" (сравнението с по изминатите километри). Нещо не ми се получава синтаксиса и гърми case:5 в main() функцията r.operator< . Какво ли не пробвах , но се чупи. Ако може да подскажете черпя бира icon_lol.gif

car.cpp
car.h
carShop.cpp
carShop.h
main

Благодаря предварително на всеки със съвет ...


PMEmail Poster
Top
Дон Реба
Публикувано на: 10-02-2020, 12:45
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 8879
Регистриран на: 11.11.06



ами ти си направил оператора < да ти връща най-добрата кола, и даже щеше да бачка ако беше сложил един фиктивен каршоп отдясно, ето така case 5: cout << r< kurami; break;
но даскала ще те върне, в зубърския свят не е достатъчно нещо да бачка, той иска да предефинираш оператора не на каршопа, а на CCar , и така да сравняваш колите, коя е "по-добра", а не със пряк достъп до километрите, както сега си го направил if (m[i].course_access() < z)
даскала си го представя да бъде if (m[i]< m[best]){best=i;}
а вътре оператора < да сравнява километрите
PM
Top
bokoto83
Публикувано на: 10-02-2020, 13:57
Quote Post



Име: Валентин
Група: Потребител
Ранг: Новопостъпил

Мнения: 3
Регистриран на: 10.02.20



Това ми е пръв проект , писал съм го тoва 2 седмици като от месец уча С++. Когато преместя всичко в Car , изникват куп грешки ... не вижда дори масива.
Моля ,не ме убивайте ... icon_lol.gif
PMEmail Poster
Top
Feral
Публикувано на: 10-02-2020, 16:29
Quote Post



Име:
Група: Потребител
Ранг: Активен

Мнения: 197
Регистриран на: 05.02.17



Неконсистентно и неинформативно наименоване на методи и променливи


--------------------
PMEmail Poster
Top
PxL
Публикувано на: 10-02-2020, 17:45
Quote Post


Group Icon
Име: Димитър Т. Димитров
Група: VIP
Ранг: Почетен член

Мнения: 3344
Регистриран на: 26.04.05



QUOTE (bokoto83 @ 10-02-2020, 14:57)
Това ми е пръв проект , писал съм го тoва 2 седмици като от месец уча С++. Когато преместя всичко в Car , изникват куп грешки ... не вижда дори масива.
Моля ,не ме убивайте ... icon_lol.gif

Не ти трябва там да вижда масива, масива си е за CarShop, трябва ти оператора за сравнение да е за Car, не за Shop. Виж пак урока за предефиниране на операторите, защото ми се струва, че не си го разбрал съвсем.


--------------------
void putchar(char c);int main(){int x,c=1,i;for(i=0;(x="PxLY2H4:2E;7231?=68255A5S5P9N:N9O84111H861I85111G9N:O811O812M<G33911EAEDBECE22169D1=2k"[i+++3]);)while(x-->'0')putchar((!(++c%'('))?0x0a:33^(i&1));}
PMEmail PosterUsers Website
Top
bokoto83
Публикувано на: 11-02-2020, 13:15
Quote Post



Име: Валентин
Група: Потребител
Ранг: Новопостъпил

Мнения: 3
Регистриран на: 10.02.20



Пак не успях ... гледах туториали и какво ли не .... само разбрах че трябва да е от булев тип icon_lol.gif Сякаш за + оператор има повече обяснения.
В Car как да го направя тогава да сравнява m_kilometers с предварително въведените, че да отговаря на "< "предефиниран оператор" ?
PMEmail Poster
Top
Gamma Goblin
Публикувано на: 11-02-2020, 13:42
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3344
Регистриран на: 21.02.18



Само да вметна че в ръст е по-интелигентно измислено и просто трябва да имплементираш един интерфейс: https://doc.rust-lang.org/std/cmp/trait.Ord.html


--------------------
https://www.rust-lang.org/
---
https://ncase.me/trust-bg/
---
Misanthropy is the general hatred, dislike, distrust or contempt of the human species or human nature. A misanthrope or misanthropist is someone who holds such views or feelings.
---
INTJ’s are good at being very good at everything
---
PMEmail PosterUsers Website
Top
PxL
Публикувано на: 11-02-2020, 13:45
Quote Post


Group Icon
Име: Димитър Т. Димитров
Група: VIP
Ранг: Почетен член

Мнения: 3344
Регистриран на: 26.04.05



QUOTE (bokoto83 @ 11-02-2020, 14:15)
Пак не успях ... гледах туториали и какво ли не .... само разбрах че трябва да е от булев тип icon_lol.gif Сякаш за + оператор има повече обяснения.
В Car как да го направя тогава да сравнява m_kilometers с предварително въведените, че да отговаря на "< "предефиниран оператор" ?

CODE

   bool operator <(const CCar& car)
   {
       return (m_kilometers < car.m_kilometers);
   }



--------------------
void putchar(char c);int main(){int x,c=1,i;for(i=0;(x="PxLY2H4:2E;7231?=68255A5S5P9N:N9O84111H861I85111G9N:O811O812M<G33911EAEDBECE22169D1=2k"[i+++3]);)while(x-->'0')putchar((!(++c%'('))?0x0a:33^(i&1));}
PMEmail PosterUsers Website
Top
THE STORM
Публикувано на: 11-02-2020, 14:23
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 905
Регистриран на: 19.08.05



По-добре името на аргумента да е other, за да се сеща, че там сравнява this с other.
PMEmail Poster
Top
b1ck0
Публикувано на: 11-02-2020, 17:00
Quote Post



Име: Васил Йорданов
Група: Потребител
Ранг: Старо куче

Мнения: 663
Регистриран на: 07.09.06



//offtopic

по-удобно ще е ако ползваш github и дадеш линк ... да качваш файловете един по един тука е малко old-school ...
PMEmail PosterUsers Website
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0