1 条题解

  • 0
    @ 2025-4-12 21:43:14

    C++ :

    #include<iostream>
    using namespace std;
    class Shape
    {public:
    Shape(){}
    ~Shape(){}
    virtual float GetPerim()=0;
    virtual float GetArea()=0;
    };
    class Rectangle:public Shape
    {public:
    Rectangle(float i,float j):L(i),W(j){}
    ~Rectangle(){}
    float GetPerim(){return 2*(L+W);}
    float GetArea(){return L*W;}
    private:
    float L,W;
    };
    class Circle:public Shape
    {public:
    Circle(float r):R(r){}
    float GetPerim(){return 3.14159*2*R;}
    float GetArea(){return 3.14159*R*R;}
    private:
    float R;
    };
    
    
    
    
    int main(){
     double radius;//圆半径
     double a,b;//矩形长和宽
     cin>>radius>>a>>b;
     Circle c(radius);
     Rectangle rect(a,b);
     Shape* pShapeArray[]={&c,&rect};
     for (int i=0;i<2;i++){
      cout<<"perimeter:"<<pShapeArray[i]->GetPerim( )<<endl;
      cout<<"area:"<<pShapeArray[i]->GetArea()<<endl;
     }
     return 0;
    }
    
    • 1

    信息

    ID
    1381
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者