| From: | misame |
Date: | March 6th, 2007 - 09:36 pm |
---|
| | | (Link) |
|
taisnība jau Tev ir. Kamēr nebiju ieraudzījis watt viedokli, bija pilnīgi piemirsies par C++/C#/jaunā vb.net iespēju pārlādēt operatorus... tātad jāmācās katrā valodā pa savam.
vēl jautājums, ar ko tad operators ir sliktāks par divargumentu metodi? ;-)
nu ir jau binārie un ternārie un pat unārie operātori:
a += b; a = b + c; !a; +a; -a;
| From: | misame |
Date: | March 6th, 2007 - 09:47 pm |
---|
| | | (Link) |
|
par pirmo man ir aizdomas, ka tas ir sinonīms a=a+b, ko arī kompilators aši pārveido.
Otrais ir tas, ko es biju domājis... pārējie gan tiešām ir unāri operatori. Jautājums, vai C++ ļauj pārlādēt unāro "+"?
nezinu vai ļauj pārlādēt, bet operators tas ir ;)
| From: | kemune |
Date: | March 6th, 2007 - 10:32 pm |
---|
| | | (Link) |
|
ļauj. es tikai neesmu pārliecināts par a ? b : c pārlādēšanu, bet, piemēram, komats C++ arī ir binārs operators, kurš vienmēr atgriež labo vērtību, ja nemaldos
| From: | kemune |
Date: | March 6th, 2007 - 10:35 pm |
---|
| | | (Link) |
|
viens pazīstams maniaks ļoti aizrāvās ar operatoru pārlādēšanu, it sevišķi viņam patika pārlādēt () operatoru. principā mierīgi savu valodu vari radīt, līdzīgi kā ar makrosiem C (tipa obfuscated C contest)
ā, un a = b + c iekš c++ sastāv no diviem operatoriem:
StarprezultaataTips operators + (Btips b, Ctips c);
Atips operators = (StarprezultaataTips s);
excuse moi French.
| From: | kemune |
Date: | March 6th, 2007 - 10:34 pm |
---|
| | | (Link) |
|
pie tam var definēt divos veidos:
1) C stilā kā funkciju:
StarprezultaataTips operators + (Btips b, Ctips c);
2) C++ stilā kā klases memberi:
StarprezultaataTips Btips::operators + (Ctips c);