Witam, mam pracę domową dopisać do programu przeładowany operator < który porównuje pola 3 figur i wypisuje które jest największe. Mógłby ktoś napisać mi te kilka linijek? Z góry dzięki, oto ten program:
#include <iostream> //dopisac o operator < ktore porownuje pola figur
using namespace std;
const double PI = 3.1415927;
class figura
{
protected:
float pole;
public:
figura() { pole=0;}
virtual void obliczpole() { cout <<"Figura : nie da sie obliczyc!" <<endl;}
void opisz_figure()
{
cout <<"Opis figury : ";
obliczpole();
}
};
class kolo : public figura
{
float r;
public:
kolo(float promien) {r=promien;}
void obliczpole()
{
pole = PI * (r*r);
cout << "Pole kola = " << pole <<endl;
}
};
class czworokat : public figura
{
protected:
static const int w=4;
public:
czworokat() {}
void obliczpole() { cout <<"Czworokat : nie da sie obliczyc!" << endl;;}
};
class kwadrat: public czworokat
{
float a;
public:
kwadrat (float bok) {a=bok;}
void obliczpole()
{
pole = a*a;
cout << "Pole kwadratu = " << pole <<endl;
}
};
class prostokat: public czworokat
{
float a, b;
public:
prostokat(float bok_a, float bok_b) {a=bok_a; b=bok_b;}
void obliczpole()
{
pole = a*b;
cout << "Pole prostokata = " << pole <<endl;
}
};
int main()
{
figura f;
//f.obliczpole();
czworokat c;
//c.obliczpole();
// testowanie klasy kolo :
kolo kolko(1);
//kolko.obliczpole();
//testowanie klasy kwadrat :
kwadrat kwadrat1(2);
//kwadrat1.obliczpole();
//testowanie klasy prostokat:
prostokat prostokat1(3,4);
//prostokat1.obliczpole();
figura *fp;
fp = &f;
fp->obliczpole();
fp = &c;
fp->obliczpole();
fp = &kolko;
fp->obliczpole();
fp = &kwadrat1;
fp->obliczpole();
fp = &prostokat1;
fp->obliczpole();
cout << "*********************************************\n";
f.opisz_figure();
c.opisz_figure();
kolko.opisz_figure();
kwadrat1.opisz_figure();
prostokat1.opisz_figure();
}