Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- //Treba pametno odabrat atribut, čuvaš inče u intu, ili metre u intu, mada je bolje inče jer manje pretvaranja ima =D
- class Klasa
- {
- int inch;
- public:
- Klasa(int yard, int feet, int inch) : inch(36 * yard + 12 * feet + inch) {}
- Klasa(int meter) : inch(std::round(meter * 100 / 2.54)) {}
- void Ocitaj(int &inch, int &feet, int &yard) const;
- double DajMetre() const { return inch*0.0254; }
- friend Klasa operator +(const Klasa &k1, const Klasa &k2) { return k1.inch + k2.inch; }
- Klasa &operator +=(const Klasa &k) { inch += k.inch; return *this; }
- Klasa &operator ++() { inch++; return *this; }
- Klasa operator ++(int) { Klasa k(*this); inch++; return k; }
- friend Klasa operator *(const Klasa &k, double s) { return std::round(s*k.inch); }
- friend Klasa operator *(double s, const Klasa &k) { return k*s; }
- friend double operator /(const Klasa &k1, const Klasa &k2) { return double(k1.inch) / k2.inch; }
- friend std::ostream &operator <<(std::ostream &cout, const Klasa &k);
- };
- void Klasa::Ocitaj(int &inch, int &feet, int &yard) const
- {
- yard = Klasa::inch / 36;
- feet = (Klasa::inch % 36) / 12;
- inch = Klasa::inch % 12;
- }
- std::ostream &operator <<(std::ostream &cout, const Klasa &k)
- {
- int yd, ft, in;
- k.Ocitaj(in, ft, yd);
- return cout << yd << " yd " << ft << " ft " << in << " in" << std::endl;
- }
- int main()
- {
- //Testiraj sam papak =D
- system("PAUSE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement