#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");
}
double DajObim() const override {
return 2*a + 2*b;
}
double DajPovrsinu() const override{
return a * b;
}
};
int main() {
std::cout << "Hello world!" << std::endl;
return 0;
}
To embed this project on your website, copy the following code and paste it into your website's HTML: