@@ -1,3 +1,5 @@
+#ifndef _GEOMETRY_H
+#define _GEOMETRY_H
#include <math.h>
struct Point
@@ -18,4 +20,5 @@ class Figure
virtual double calc_area() = 0;
virtual double calc_perimiter() = 0;
virtual void name() = 0;
-};
+};
+#endif
@@ -0,0 +1,29 @@
+#include "Circle.h"
+#include "Ellips.h"
+#include "Rectangle.h"
+#include "Triangle.h"
+#include "Figure.h"
+#include <iostream>
+#include <vector>
+
+using namespace std;
+int main() {
+ vector<Figure*> v;
+ int areas = 0;
+ Ellips e(10, 15, 10, 15);
+ v.push_back(&e);
+ Circle c(1,1,5);
+ v.push_back(&c);
+ Rectangle r(0, 0, 1, 0, 1, 1, 0, 1);
+ v.push_back(&r);
+ Triangle t(0, 0, 1, 1, 1, 0);
+ v.push_back(&t);
+ for(int i = 0; i < v.size(); i++) {
+ v[i]->name();
+ areas += v[i]->calc_area();
+ }
+ cout << areas << endl;
+ return 0;
+}
@@ -1,3 +1,9 @@
+all: Circle.o Triangle.o Rectangle.o Ellips.o main.o
+ g++ Circle.o Triangle.o Rectangle.o Ellips.o main.o
+main.o: main.cpp
+ g++ -c main.cpp
circle: Circle.o circle_main.o
g++ Circle.o circle_main.o