Parcourir la source

add templates

jezvgg il y a 11 mois
Parent
commit
1bdc8c13d4
2 fichiers modifiés avec 11 ajouts et 12 suppressions
  1. 0 10
      Circle.cpp
  2. 11 2
      Circle.h

+ 0 - 10
Circle.cpp

@@ -1,16 +1,6 @@
 #include "Circle.h"
 #include <iostream>
 
-Circle::Circle(double center_x, double center_y, double radius)
-{
-    init(center_x, center_y, radius);
-}
-
-Circle::Circle(struct Point p, double radius)
-{
-    init(p.x, p.y, radius);
-}
-
 double Circle::calc_area()
 {
     return 3.14 * (Radius * Radius);

+ 11 - 2
Circle.h

@@ -14,8 +14,17 @@ class Circle: public Figure
     }
 
     public:
-    Circle(double center_x, double center_y, double radius);
-    Circle(struct Point center, double radius);
+    template <typename T>
+    Circle(T center_x, T center_y, T radius)
+    {
+        init(center_x, center_y, radius);
+    }
+
+    template <typename T>
+    Circle(struct Point center, T radius)
+    {
+        init(center.x, center.y, radius);
+    }
 
     double calc_area();
     double calc_perimiter();