fork(1) download
  1. #include <iostream>
  2. #include <cmath>
  3. #define PI 3.14159
  4.  
  5. class Shape{
  6. public:
  7. virtual double getArea() = 0;
  8. virtual double getPerimeter() = 0;
  9. };
  10. class Rectangle : public Shape{
  11. private:
  12. double width, height;
  13.  
  14. public:
  15. Rectangle(){
  16. std::cout << " Enter width: ";
  17. std::cin >> width;
  18. std::cout << " Enter height: ";
  19. std::cin >> height;
  20. }
  21. double getArea(){
  22. return width * height;
  23. }
  24. double getPerimeter(){
  25. return (width+height)*2;
  26. }
  27. };
  28.  
  29. class Circle : public Shape{
  30. private:
  31. double radius;
  32. public:
  33. Circle(){
  34. std::cout << " Enter radius: ";
  35. std::cin >> radius;
  36. }
  37. double getArea(){
  38. return PI*pow(radius, 2);
  39. }
  40. double getPerimeter(){
  41. return 2*PI*radius;
  42. }
  43. };
  44.  
  45. class Triangle : public Shape{
  46. private:
  47. double base, L_Side, R_Side, height;
  48. public:
  49. Triangle(){
  50. std::cout << " Enter base length: ";
  51. std::cin >> base;
  52. std::cout << " Enter left side length: ";
  53. std::cin >> L_Side;
  54. std::cout << " Enter right side length: ";
  55. std::cin >> R_Side;
  56. std::cout << " Enter height: ";
  57. std::cin >> height;
  58. }
  59. double getArea(){
  60. return 0.5 * base * height;
  61. }
  62. double getPerimeter(){
  63. return base + L_Side + R_Side;
  64. }
  65. };
  66.  
  67. int main(){
  68. std::cout << "Rectangle: \n";
  69. Rectangle R1;
  70. std::cout << " Area: " << R1.getArea() << "\n";
  71. std::cout << " Perimeter: " << R1.getPerimeter() << "\n\n";
  72.  
  73. std::cout << "Circle: \n";
  74. Circle C;
  75. std::cout << "Circle: \n";
  76. std::cout << " Area: " << C.getArea() << "\n";
  77. std::cout << " Perimeter: " << C.getPerimeter() << "\n\n";
  78.  
  79. std::cout << "Triangle: \n";
  80. Triangle T;
  81. std::cout << " Area: " << T.getArea() << "\n";
  82. std::cout << " Perimeter: " << T.getPerimeter() << "\n\n";
  83.  
  84. return 0;
  85. }
  86.  
Success #stdin #stdout 0.01s 5280KB
stdin
Standard input is empty
stdout
Rectangle: 
    Enter width:     Enter height:   Area: 0
  Perimeter: 1.39061e-309

Circle: 
    Enter radius: Circle: 
  Area: 0
  Perimeter: 2.91611e-309

Triangle: 
     Enter base length:      Enter left side length:      Enter right side length:      Enter height:   Area: 0
  Perimeter: 9.28228e-310