Facebook
From Gamboge Duck, 6 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 1012
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. class punkt {
  7.  
  8. double _x, _y;
  9. public:
  10. punkt():_x(0),_y(0){}
  11. punkt(double x, double y):_x(x), _y(y) {}
  12. double &x() { return _x; }
  13. const double &x() const { return _x; }
  14. double &y() { return _y; }
  15. const double &y() const { return _y; }
  16. const double odleglosc( const punkt& a)const {
  17. return sqrt( ((_x-a._x)*(_x-a._x) ) + ( (_y-a._y)*(_y-a._y) ));
  18. }
  19. };
  20.  
  21. class wielobok {
  22. unsigned roz;
  23. punkt* wsk;
  24. public:
  25. wielobok():roz(0), wsk(0){}
  26. wielobok(const punkt* b,const punkt* e ):
  27. roz(e-b), wsk(roz ? new punkt[roz]:0){
  28. for(unsigned i=0;i<roz;++i)
  29. wsk[i]=b[i];
  30.  }
  31. ~wielobok(){delete[]wsk;}
  32. wielobok(const wielobok&);
  33. wielobok& operator=(const wielobok &);
  34. };
  35.  
  36. int main() {
  37.  
  38. punkt p(2, 3);
  39. cout << p.x() << ' ' << p.y() << '\n';
  40. p.x() = 1;
  41. p.y() = 1;
  42. cout << p.x() << ' ' << p.y() << '\n';
  43. cout << p.odleglosc(punkt()) << '\n';
  44. punkt t[] = { punkt(0, 1), punkt(0, 0), punkt(1, 0), punkt(1, 1) };
  45. wielobok w1(t, t+4);
  46. }