======9. přednáška======
Většinu binárních operátorů lze přetížit jako statické i nestatické metody s jedním parametrem (prvním "parametrem" je volající instance) nebo jako funkce s dvěma parametry. V ukázce jsou přetěžovány jako nestatické metody. Funkce přetížených operátorů odpovídá jejich označení.
Přetížení operátorů:
zlomek zlomek::operator+(zlomek z)
{
int c = citatel*z.jmenovatel+jmenovatel*z.citatel;
int j = jmenovatel*z.jmenovatel;
zlomek zzz(c, j);
zzz.zkrat();
return zzz;
}
zlomek zlomek::operator-(zlomek z)
{
int c = citatel*z.jmenovatel-jmenovatel*z.citatel;
int j = jmenovatel*z.jmenovatel;
zlomek zzz(c, j);
zzz.zkrat();
return zzz;
}
zlomek zlomek::operator*(zlomek z)
{
int c = citatel*z.citatel;
int j = jmenovatel*z.jmenovatel;
zlomek zzz(c, j);
zzz.zkrat();
return zzz;
}
Volání přetížených operátorů:
zlomek a(2,5), b(3,4), c(2,3), d(4,6);
a=a+b;
a.vypis();
b=c-d;
b.vypis();
c=b*d;
c.vypis();