Zlomky

#include <iostream>
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;
}
 
zpro/zlomky.txt · Last modified: 2020/12/16 17:19 by 88.103.111.44
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki