#ifndef _FIGURY_H #define _FIGURY_H #include #include #include using namespace std; const double PI = 3.1415; class Figura { protected: string nazwa; public: Figura(); Figura(string nazwa); virtual double Pole(); virtual double Obwod(); friend ostream& operator<<(ostream &o, Figura &f); }; //------------------------------------------------------ class Kolo: public Figura { private: double r; public: Kolo():Figura("Kolo"),r(0.0){}; Kolo(double promien):Figura("Kolo"),r(promien){ }; Kolo(double promien,string nazwa):Figura(nazwa),r(promien){}; double Pole(); double Obwod(); }; //----------------------------------------------------------- class Kwadrat: public Figura { private: double a; public: Kwadrat(double bok=0.0,string nazwa="Kwadrat"):Figura(nazwa),a(bok){}; // lista inicjalizacyjna oraz wartosci domyslne argumentow //Kwadrat(double bok):bok(bok){ nazwa = "Kwadrat";}; //Kwadrat(double bok,string nazwa):bok(bok){ this->nazwa = nazwa; }; double Pole(){return a*a;}; // funkcja inline double Obwod(){return 4*a;}; }; class Trojkat: public Figura { private: double a,b,c; public: Trojkat():Figura("Trojkat"),a(0.0),b(0.0),c(0.0){ }; Trojkat(double a,double b,double c,string nazwa="Trojkat"):Figura(nazwa),a(a),b(b),c(c){ }; double Pole(); double Obwod(){return a+b+c;}; }; #endif