Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Preklapanje operatora

[es] :: C/C++ programiranje :: Preklapanje operatora

[ Pregleda: 3293 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Buffy
Stanko Culaja
Sipovo, BiH

Član broj: 45310
Poruke: 312
*.teol.net.



Profil

icon Preklapanje operatora15.03.2005. u 17:05 - pre 232 meseci
Da li je moguce preklopiti operator [][](ako je ovo operator) tako da mogu napisati:
Code:

int main()
{
    KLASA a;
    a[5][3];
    return 0;
}

Pokusao sam to ovako uraditi:
Code:

int KLASA::operator[][](int a,int b)
{
    return a+b;
}

ili ovako:
Code:

int KLASA::operator[](int a,int b)
{
    return a+b;
}

...ali ne radi(kompajler prijavi gresku).
Mozda uopste nije moguce preklopiti operator [][],
prije svega zato sto to nije operator u cjelini,vec je ovdje samo
napisan dva puta operator [],ali mora postojati nacin da se ovaj problem rijesi!
Hvala unaprijed!

 
Odgovor na temu

NeznamTkoSam

Član broj: 39660
Poruke: 279
*.cmu.carnet.hr.



Profil

icon Re: Preklapanje operatora15.03.2005. u 18:11 - pre 232 meseci
ne postoji operator [][]
fora je u tome što se zapravo:
a[10][3]
implementira kao:
(a[10])[3]
 
Odgovor na temu

NeznamTkoSam

Član broj: 39660
Poruke: 279
*.cmu.carnet.hr.



Profil

icon Re: Preklapanje operatora15.03.2005. u 20:05 - pre 232 meseci
Napravimo Matricu cijelih brojeva.
Imamo klasu Matrica i klasu Stupac
u klasi Matrica preopteretis operator:
Stupac operator[](int index);
u klasi Stupac ponovno preoptereti operator:
int Stupac operator[](int index2);
sada mozes koristiti [][]:
Matrica *m = new Matrica...;
m[2]; // vraca objekt tipa Stupac
m[2][1]; // vraca cijeli broj, int
 
Odgovor na temu

Buffy
Stanko Culaja
Sipovo, BiH

Član broj: 45310
Poruke: 312
*.teol.net.



Profil

icon Re: Preklapanje operatora15.03.2005. u 20:49 - pre 232 meseci
...a moze takodje da preklopimo operator[](int index)
i da on vraca pointer.Na primjer:
Code:

KLASA a;
a[5]; //vraca pointer na pocetak nekog niza(na primjer niza int-ova)
a[5][7]; //vraca vrijednost 8. clana 6. niza


 
Odgovor na temu

NeznamTkoSam

Član broj: 39660
Poruke: 279
*.cmu.carnet.hr.



Profil

icon Re: Preklapanje operatora17.03.2005. u 18:06 - pre 232 meseci
Da, mozes upotrijebiti klasu, pointer ili niz.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Preklapanje operatora

[ Pregleda: 3293 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.