Я создал проект, который использует poly и inheritance. базовым классом является «Shape», а производными являются «Circle» и «Polygon», которые «Треугольник» и «Прямоугольник» получены из «Polygon» . Кроме того, мне нужно создать класс Point, который инициализирует каждый конструктор формы используя объект Point.C++ производный класс, наследование и объекты poly
Две точки были созданы - точка О (0,0), точка А (0,1) и новый круг «форма» была создана -Новый круг (о, а) им пытаются вычислить площадь этого путь: a.getX() - a.getY() [это радиус] * 3.14
main.cpp
#include <iostream>
#include "Point.h"
#include "Shape.h"
#include "Circle.h"
using namespace std;
void main()
{
Point o(0,0);
Point a(0,1);
Point b(1,0);
Shape *shapes[]=
{
new Circle (o,a)
new Rectangle(a,b);
new Triangle (o,a,b);
};
cout<<" area= "<<shapes[0]->area();
//should print pt1.getY()-pt0.getY() * 3.14
}
shape.h
#ifndef SHAPE_H
#define SHAPE_H
class Shape
{
public:
virtual double area() const= 0;
};
#endif
circle.h
#ifndef CIRCLE_H
#define CIRCLE_H
#include "Shape.h"
#include "Point.h"
class Circle:public Shape
{
public :
Circle(Point pt0,Point pt1);
double area();
private :
Point pt0, pt1;
};
#endif
circle.cpp
#include "Circle.h"
#include "Point.h"
Circle::Circle(Point pt0,Point pt1)//(o,a) from the main
{
this->pt0=pt0;
this->pt1=pt1;
}
double Circle:: area()
{
return pt1.getY()-pt0.getY() * 3.14;
}
Очень много кода и вопросов нет. –
Не должен ли класс окружения содержать только одну точку центра и радиуса? – Valentin
@ Valentin - это заданный main.cpp, мне нужно использовать его как есть. –