circle.h 692 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #pragma once
  2. #include "geometry.h"
  3. class circle_exception {
  4. };
  5. class circle :
  6. public Geometry_figure
  7. {
  8. private:
  9. Point center;
  10. double radius;
  11. public:
  12. circle() {};
  13. template <class value_class> circle(value_class x, value_class y, value_class R);
  14. template <class value_class> circle(Point cent, value_class R);
  15. double calc_area();
  16. double calc_perimeter();
  17. void name();
  18. };
  19. template<class value_class>
  20. inline circle::circle(value_class x, value_class y, value_class R) {
  21. center = Point(x, y);
  22. radius = (double)R;
  23. }
  24. template<class value_class>
  25. inline circle::circle(Point cent, value_class R)
  26. {
  27. center = cent;
  28. radius = (double)R;
  29. }