Przesyłam główną gałąź tego programu, czy tutaj zgadzają się dziedziczenia, bo myślę że bez tego to ja będę błądził i błądził.. W Figura są 2 konstruktory, bo jeszcze są potem klasy gdzie jest tylko jeden argument potrzebny, a nie 5 jak przy czterokątach.
Figura.cpp
#include "Figura.h"
Figura::Figura(double a, double b, double c, double d, double sinus)
{
}
Figura::Figura(double a)
{
}
Figura::~Figura()
{
}
Figura.h
class Czworokat : public Figura
{
public:
Czworokat(double a, double b, double c, double d, double sinus);
virtual ~Czworokat() = 0;
protected:
double a, b, c, d, sinus;
private:
};
Czworokat.cpp
#include "Czworokat.h"
#include <math.h>
Czworokat::Czworokat(double a, double b, double c, double d, double sinus) : Figura::Figura(a, b, c, d, sinus)
{
this->a = a;
this->b = b;
this->c = c;
this->d = d;
sinus = sinus * M_PI / 180;
this->sinus = sinus;
}
Czworokat::~Czworokat()
{
}
Czworokat.h
class Czworokat : public Figura
{
public:
Czworokat(double a, double b, double c, double d, double sinus);
virtual ~Czworokat() = 0;
protected:
double a, b, c, d, sinus;
private:
};
Kwadrat.cpp
#include "Kwadrat.h"
#include <math.h>
#include "Czworokat.h"
Kwadrat::Kwadrat(double a, double b, double c, double d, double sinus) : Czworokat::Czworokat(a, b, c, d, sinus)
{
}
double Kwadrat::obwod()
{
double obwod = 4*a;
return obwod;
}
double Kwadrat::pole()
{
double pole = pow(a,2);
return pole;
}
Kwadrat::~Kwadrat()
{
}
Kwadrat.h
#include "Kwadrat.h"
#include <math.h>
#include "Czworokat.h"
Kwadrat::Kwadrat(double a, double b, double c, double d, double sinus) : Czworokat::Czworokat(a, b, c, d, sinus)
{
}
double Kwadrat::obwod()
{
double obwod = 4*a;
return obwod;
}
double Kwadrat::pole()
{
double pole = pow(a,2);
return pole;
}
Kwadrat::~Kwadrat()
{
}