====== Zlomky ====== #include using namespace std; class Zlomek { public: int cit, jm; Zlomek add (Zlomek w); Zlomek operator + (Zlomek w) { return this->add (w); } Zlomek operator * (Zlomek w); void print (); Zlomek (int cit0 = 0, int jm0 = 1) : cit (cit0), jm (jm0) { } ~Zlomek (); }; Zlomek::~Zlomek () { // delete ... } void Zlomek::print () { cout << cit << " / " << jm; } Zlomek Zlomek::add (Zlomek w) { cout << "scitani "; this->print (); cout << " a "; w.print (); Zlomek v; v.cit = this->cit * w.jm + w.cit*this->jm; v.jm = this->jm * w.jm; cout << " je "; v.print (); cout << endl; return v; } Zlomek Zlomek::operator * (Zlomek w) { Zlomek v; v.cit = this->cit * w.cit; v.jm = this->jm * w.jm; return v; } Zlomek operator - (Zlomek z, Zlomek w) { Zlomek v; v.cit = z.cit * w.jm - w.cit*z.jm; v.jm = z.jm * w.jm; return v; } ostream & operator << (ostream & f, Zlomek w) { f << "[ " << w.cit << " / " << w.jm << " ]"; return f; } class ZlomekPtr { public: Zlomek* ptr; ZlomekPtr () { ptr = new Zlomek; }; ~ZlomekPtr () { delete ptr; }; }; int main () { ZlomekPtr p; Zlomek a (1, 2); Zlomek b (1, 3); Zlomek c; // c = a.add (b); c = a - b; // c.print (); cout << a << " minus " << b << " je " << c; return 0; }