Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Punkt
- {
- friend ostream& operator<<(ostream&, const Punkt&);
- double X;
- double Y;
- public:
- Punkt(double, double);
- };
- class Kwadrat
- {
- friend Kwadrat operator+(const Kwadrat, const Kwadrat);
- friend Kwadrat operator-(const Kwadrat, const Kwadrat);
- friend ostream& operator<<(ostream&, const Kwadrat&);
- Punkt LewoGora;
- double Bok;
- public:
- Kwadrat(Punkt, double);
- };
- Punkt::Punkt(double x, double y) : X(x), Y(y) {}
- Kwadrat operator+(const Kwadrat A, const Kwadrat B)
- {
- return Kwadrat(A.LewoGora, A.Bok + B.Bok);
- }
- Kwadrat operator-(const Kwadrat A, const Kwadrat B)
- {
- double roznica = A.Bok - B.Bok;
- if(roznica < 0)
- roznica *= -1;
- return Kwadrat(B.LewoGora, roznica);
- }
- ostream& operator<<(ostream& os, const Punkt& p)
- {
- os << '(' << p.X << ',' << p.Y << ')';
- return os;
- }
- ostream& operator<<(ostream& os, const Kwadrat& kw)
- {
- os << "Kwadrat o lewym gornym boku " << kw.LewoGora << " i boku o dlugosci " << kw.Bok;
- return os;
- }
- Kwadrat::Kwadrat(Punkt p, double b) : LewoGora(p), Bok(b) {}
- int main()
- {
- Punkt A(3.2, 7.5);
- Punkt B(-1.2, .5);
- Kwadrat k1(A, 10.9);
- Kwadrat k2(B, 1.7);
- Kwadrat ks1 = k1 + k2;
- cout << ks1 << endl;
- Kwadrat ks2 = k2 + k1;
- cout << ks2 << endl;
- Kwadrat kr1 = k1 - k2;
- cout << kr1 << endl;
- Kwadrat kr2 = k2 - k1;
- cout << kr2 << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment