Facebook
From Tinct Crow, 5 Years ago, written in Plain Text.
This paste is a reply to Untitled from Crippled Macaw - go back
Embed
Viewing differences between Untitled and Re: Untitled
grzela#include 
#include 
#include 
#include 
#include 

class Regular_Pyramid
{
protected:
        std::string name;
        double side;
        double height;
        double total_area = 1.0;
public:
        static int ostroslupy_duze;

        Regular_Pyramid()
        {
                name = "Pyramid";
                side = 1;
                height = 1;
        }

        Regular_Pyramid(std::string name, double side, double height)
        {
                this->name = name;
                this->side = side;
                this->height = height;
        }
        ~Regular_Pyramid() = default;

    virtual void calculate_area()
        {
                /*double triangle_height;
                triangle_height = sqrt(height*height + 0.25 * side * side);
                total_area = side * side + 4 * triangle_height * 0.5 * side;
                std::cout << "Pole powierzchni ostroslupa " << name << " jest rowne: " << total_area << std::endl;*/
        }

};

class Square_Regular_Pyramid : public Regular_Pyramid
{
public:
    
    void calculate_area() override
    {
        /*double triangle_height;
        triangle_height = sqrt(height*height + 0.25 * side * side);
        total_area = side * side + 4 * triangle_height * 0.5 * side;
        std::cout << "Pole powierzchni ostroslupa " << name << " jest rowne: " << total_area << std::endl;*/
        total_area = 2 * side * sqrt(height * height + 0.25 * side * side) + side * side;
    }
    void operator-(int b)
    {
        try
        {
            if(side <= 0) throw "Nie mozna zmiejszyc o podana dlugosc";
            side = side - b;
        }
        catch(const char* e)
        {
            std::cout << e << std::endl;
        }
    }
};