Avatar
expoox
Redaktor
Avatar
expoox:

Ahoj, viete mi prosim poradit ako sa pretazuju operatory [ ], ( ) a to, ako sa s tym pracuje ? PS: [ ] potrebujem vediet pouzivat ako pravu aj ako lavu stranu vyrazu. Dakujem

 
Odpovědět 12. dubna 21:00
Avatar
Taskkill
Redaktor
Avatar
Taskkill:

chapu to dobre, ze chces umet pretizit [] nalevo i napravo? To si myslim nepujde, kazdy operator neco znamena, treba * je nasobeni, podari se ti pretizit * jako nasobeni (vpravo), ale co vim, nepretizis ji nalevo - protoze pointer ... stejne bych to ocekaval s [] a () ... proste jednou je stanoveno kde se operator pouziva, tak to tak asi musi byt respektovano...

pokud mas neco jako

class MojeTrida {
        void operator() (int i, string s) {
                // nejaky kod
        }
        // muzes samozrejme i neco vracet
        int operator[] (int i) {
                return poleIntu[i];
        }

jak vidis operatory se pretezujou tak, ze se vlastne nadefinujou jako funkce, nektere operatory jdou pretizit mimo class nebo struct, vetsina ale pouze pro konkretni typy ...

cerpal jsem odtud: http://en.cppreference.com/…ge/operators

Akceptované řešení
+20 Zkušeností
Řešení problému
 
Nahoru Odpovědět  +1 12. dubna 21:47
Avatar
expoox
Redaktor
Avatar
Odpovídá na Taskkill
expoox:

tym naprava a nalavo som myslel toto :

a[2] = 7;
x = a[2];

ale dakujem, ta stranka pomohla

 
Nahoru Odpovědět 12. dubna 22:09
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na expoox
Taskkill:

Jasně nenapadlo mě že vlastně víš co chceš ale zároveň se ptáš na něco k tomu... Teď už je to jasný ... Nemáš za co

 
Nahoru Odpovědět 12. dubna 22:14
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.