1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
#include <iostream>
class Polygon
{
public:
virtual double area() = 0;
virtual double perimeter() = 0;
};
class Triangle : public Polygon
{
public:
Triangle() { base = 0, height = 0, side1 = 0, side2 = 0; }
Triangle(double b, double s1, double s2) { b = base, s1 = side1, s2 = side2; }
double area() override
{
return ((base * height) / 2);
}
double perimeter() override
{
return (base + side1 + side2);
}
protected:
double base, height, side1, side2;
};
class IsoscelesTriangle : public Triangle
{
public:
IsoscelesTriangle() { base = 0, side = 0; }
IsoscelesTriangle(double b, double s) { b = base, s = side; }
double perimeter() override
{
return ((2 * side) + base);
}
protected:
double side;
};
int main()
{
double baseIso, sideIso;
std::cout << "Please enter a base: ";
std::cin >> baseIso;
std::cout << "Please enter a side: ";
std::cin >> sideIso;
IsoscelesTriangle userIsosceles(baseIso, sideIso);
std::cout << "The area is: " << userIsosceles.area() << "\n";
std::cout << "The perimeter is: " << userIsosceles.perimeter() << "\n";
system("pause");
return 0;
}
|