|
@@ -15,14 +15,16 @@ void chck_rectangle();
|
|
|
void chck_polygon();
|
|
|
void chck_circle();
|
|
|
void chck_elipse();
|
|
|
+void chck_polimorph();
|
|
|
|
|
|
int main()
|
|
|
{
|
|
|
- chck_trinagle();
|
|
|
- chck_rectangle();
|
|
|
- chck_polygon();
|
|
|
- chck_circle();
|
|
|
- chck_elipse();
|
|
|
+ //chck_trinagle();
|
|
|
+ //chck_rectangle();
|
|
|
+ //chck_polygon();
|
|
|
+ //chck_circle();
|
|
|
+ //chck_elipse();
|
|
|
+ chck_polimorph();
|
|
|
|
|
|
}
|
|
|
|
|
@@ -61,6 +63,7 @@ void chck_polygon()
|
|
|
A.push_back(5);
|
|
|
Polygon p;
|
|
|
p = Polygon(A);
|
|
|
+ p.name();
|
|
|
cout << p.calc_area() << "\t" << p.calc_perimeter() << endl;
|
|
|
|
|
|
}
|
|
@@ -93,3 +96,30 @@ void chck_elipse()
|
|
|
cout << "el2 \t" << el2.calc_area() << '\t' << el2.calc_perimeter() << endl;
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+void chck_polimorph()
|
|
|
+{
|
|
|
+ vector <Geometry_figure*> figures;
|
|
|
+ figures.push_back(new Triangle(3, 4, 5));
|
|
|
+ figures.push_back(new circle(0, 0, 5));
|
|
|
+ figures.push_back(new Rectangle(2, 5));
|
|
|
+ figures.push_back(new elipse(0, 0, 4, 5));
|
|
|
+ vector <int> A;
|
|
|
+ A.push_back(0);
|
|
|
+ A.push_back(0);
|
|
|
+ A.push_back(5);
|
|
|
+ A.push_back(0);
|
|
|
+ A.push_back(5);
|
|
|
+ A.push_back(5);
|
|
|
+ A.push_back(0);
|
|
|
+ A.push_back(5);
|
|
|
+ figures.push_back(new Polygon(A));
|
|
|
+
|
|
|
+ for (int i = 0; i < figures.size(); i++) {
|
|
|
+ figures[i]->name();
|
|
|
+ cout << "P=" << figures[i]->calc_area() << "\t S=" << figures[i]->calc_perimeter() << endl;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+}
|