jezvgg vor 11 Monaten
Commit
eb18e12a62
6 geänderte Dateien mit 74 neuen und 0 gelöschten Zeilen
  1. 2 0
      .gitignore
  2. 24 0
      Circle.cpp
  3. 15 0
      Circle.h
  4. 13 0
      Figure.h
  5. 9 0
      circle_main.cpp
  6. 11 0
      makefile

+ 2 - 0
.gitignore

@@ -0,0 +1,2 @@
+*.o
+*.out

+ 24 - 0
Circle.cpp

@@ -0,0 +1,24 @@
+#include "Circle.h"
+#include <iostream>
+
+Circle::Circle(double center_x, double center_y, double radius)
+{
+    centerX = center_x;
+    centerY = center_y;
+    Radius = radius;
+}
+
+double Circle::calc_area()
+{
+    return 0.1;
+}
+
+double Circle::calc_perimiter()
+{
+    return 0.1;
+}
+
+void Circle::name()
+{
+    std::cout << "Circle" << std::endl;
+}

+ 15 - 0
Circle.h

@@ -0,0 +1,15 @@
+#include "Figure.h"
+
+class Circle: public Figure
+{
+    private:
+    double centerX, centerY, Radius;
+
+    public:
+    Circle(double center_x, double center_y, double radius);
+    Circle(struct Point center, double radius);
+
+    double calc_area();
+    double calc_perimiter();
+    void name();
+};

+ 13 - 0
Figure.h

@@ -0,0 +1,13 @@
+struct Point
+{
+    double x, y;
+};
+
+
+class Figure
+{
+    public:
+    virtual double calc_area() = 0;
+    virtual double calc_perimiter() = 0;
+    virtual void name() = 0;
+};

+ 9 - 0
circle_main.cpp

@@ -0,0 +1,9 @@
+#include "Circle.h"
+
+using namespace std;
+
+int main() {
+    Circle c(23, 24, 5);
+    c.name();
+    return 0;
+}

+ 11 - 0
makefile

@@ -0,0 +1,11 @@
+circle: Circle.o circle_main.o
+	g++ Circle.o circle_main.o
+
+circle_main.o: circle_main.cpp
+	g++ -c circle_main.cpp
+
+Circle.o: circle_main.cpp
+	g++ -c Circle.cpp
+
+clean:
+	rm -rf *.o all