jezvgg 11 hónapja
szülő
commit
8bce66a942
3 módosított fájl, 39 hozzáadás és 1 törlés
  1. 4 1
      Figure.h
  2. 29 0
      main.cpp
  3. 6 0
      makefile

+ 4 - 1
Figure.h

@@ -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

+ 29 - 0
main.cpp

@@ -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;
+}

+ 6 - 0
makefile

@@ -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