Warning
This page is located in archive.

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

courses/a7b36pjc/lectures/09/binarni_c.txt · Last modified: 2015/01/16 21:04 (external edit)