Search
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();