#include <iostream>

class Lik {
    public:
    virtual ~Lik() = default;
    virtual void IspisiSpecificnosti () const = 0;
    virtual double DajObim() const = 0;
    virtual double DajPovrsinu() const  = 0;
    void Ispisi() const {
        IspisiSpecificnosti();
        std::cout<<"Obim: "<<DajObim()<<"Povrsina: "<<DajPovrsinu()<<std::endl;
        
    }
};

class Krug : public Lik{
    double r;
    static constexpr double PI = 3.141592653589793;
    public:
    Krug(double r) : r(r){
        if(r <= 0) throw std::domain_error("Neispravni parametri");
            }
    void IspisiSpecificnosti() const override{
        std::cout<<"Krug poluprecnika: "<< r << std::endl;
         }
    double DajObim() const override { return 2 * r * PI;}
    double DajPovrsinu() const override{return r * r * PI;}
};

class Pravougaonik : public Lik{
    double a, b;
    public: 
    Pravougaonik(double a, double b) : a(a), b(b) {
        if(a <= 0 || b <= 0) throw std::domain_error("Neispravni parametri");
    }
    void IspisiSpecificnosti() const override {
        std::cout<< "Pravougaonik stranica: "<< a <<", " << b <<std::endl;
    }
    double DajObim() const override {return 2 * a + 2 * b;}
    double DajPovrsinu() const override {return a * b;}

};

class Trougao : public Lik {
    double a, b, c;

    public:
    Trougao(double a, double b, double c) : a(a), b(b), c(c) {
        if(a <= 0 || b <= 0 || c <= 0 || a + b <= c || b + c <= a || a + c <=b) 
            throw std::domain_error("Neispravni parametri");
    }
    void IspisiSpecificnosti() const override {
        std::cout<< "Trougao stranica: "<< a <<", " << b <<", "<<c<<std::endl;
    }
    double DajObim() const override {return a + b + c;}
    double DajPovrsinu() const override {
        double s = DajObim()/2;
        return std::sqrt(s * (s - a) * (s - b) * (s - c));
    }
};



















int main() {
    std::cout << "Hello world!" << std::endl;
    return 0;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: