hali
hogyan tudnek oroklott osztalyban sajat operatort hasznalni, ami
tkp. az os osztaly operatora - remelem ertheto
koszi
- 1125 megtekintés
Hozzászólások
szoval itt egy pelda, amit jobban megvilagitja a problemamat
ket os osztaly: Szaz, Tiz
az oroklott osztaly: Szam
class Szaz {
int a;
public:
Szaz() {
a = 0;
}
Szaz(int i) {
a = i;
}
~Szaz() {}
int GetSzaz() {
return a;
}
bool operator==(const Szaz &aa) {
return (a == aa.a) ? true : false;
}
bool operator<(const Szaz &aa) {
return (a < aa.a) ? true : false;
}
bool operator>(const Szaz &aa) {
return (a > aa.a) ? true : false;
}
};
class Tiz {
int b;
public:
Tiz() {
b = 0;
}
Tiz(int i) {
b = i;
}
~Tiz() {}
int GetTiz() {
return b;
}
bool operator==(const Tiz&bb) {
return (b == bb.b) ? true : false;
}
bool operator<(const Tiz&bb) {
return (b < bb.b) ? true : false;
}
bool operator>(const Tiz&bb) {
return (b > bb.b) ? true : false;
}
};
class Szam : public Szaz, public Tiz {
public:
Szam() {}
Szam(Szaz sz, Tiz t) : Szaz(sz), Tiz(t) {}
bool operator==(const Szam&i) {
}
};
tehat a kerdesem az lenne, hogy hogyan lehetne a Szam-ot osszehasonlitani
ugy, hogy az osoket(Szaz,Tiz) hosonlitom ossze?
/* bocs az esetleges helyesirasi hidakert */
- A hozzászóláshoz be kell jelentkezni
Hirtelen azt mondanam:
a, hogy az operatorokat deklarald az osztalyon kivul.
b, Ha igy haladsz bajba kerulhetsz az orokledesekkel, bar nem tudom mi a veg cel.
- A hozzászóláshoz be kell jelentkezni
Hívd meg az ősozstályok megfelelő függvényeit a túlterhelt operátorban, pl. operator> esetén: mindkettő igaz, akkor visszatérhetsz igazzal.
- A hozzászóláshoz be kell jelentkezni
Ha jól emléxem valahogy így kell:
bool operator==(const Szam&i) {
return this->Szaz::operator==(i) && this->Tiz::operator==(i);
}
- A hozzászóláshoz be kell jelentkezni
aaaahhh megeloztel. Jol emlekeztel, most jutottam ugyanerre a megoldasra g++-szal.
- A hozzászóláshoz be kell jelentkezni
Egy pár éve csak Java-zok, hiányoznak a régi szép idők ...
- A hozzászóláshoz be kell jelentkezni
én is ezt mondom :)
- A hozzászóláshoz be kell jelentkezni
jaja, csak lehet, hogy implicite az is volt a kerdes, hogy hogy kell meghivni a kivant os operatorait :)
- A hozzászóláshoz be kell jelentkezni
kiralysag, koszonom
felirtalak az "orok hala" listamra :)
/* bocs az esetleges helyesirasi hidakert */
- A hozzászóláshoz be kell jelentkezni
...
return (b < bb.b) ? true : false;
...
itt felesleges a ?: operator hasznalata, mivel beepitett tipusok operator< -ja eleve bool-lal ter vissza szoval eleg a
return b < bb.b;
- A hozzászóláshoz be kell jelentkezni
most, hogy mondod igen
mindig tanul valamit az ember, illetve a mokus ;)
/* bocs az esetleges helyesirasi hidakert */
- A hozzászóláshoz be kell jelentkezni