2023 4 23

#include<iostream>
#include<string>
using namespace std;
class shape{
public:
    virtual void setvalues(float a,float b)=0;
    virtual float area()=0;
};
class rectangle:public shape{
private:
    float length,width;
public:
    void setvalues(float a,float b){
    length=a;
    width=b;
    }
    float area(){
    return length*width;
    }
};
class trangle:public shape{
private:
    float heigth,length;
public:
    void setvalues(float a,float b){
    length=a;
    heigth=b;
    }
    float area(){
    return (length*heigth)/2;
    }
};
class zheng:public shape{
private:
    float length;
public:
    void setvalues(float a,float b=0.0){
    length=a;
    }
    float area(){
    return length*length;
    }
};
class rong:public shape{
private:
    float length;
public:
    void setvalues(float a,float b=0.0){
    length=a;
    }
    float area(){
    return length*length*3.14;
    }
};
int main(){
shape *p;
rectangle rec1;
trangle tra1;
zheng z1;
rong r1;
p=&rec1;
float a1,a2,b1,b2,c1,d1;
cout<<"请输入长方形数据:";
cin>>a1>>a2;
p->setvalues(a1,a2);
cout<<"S:"<<p->area();
cout<<endl;
p=&tra1;
cout<<"请输入三角形数据:";
cin>>b1>>b2;
p->setvalues(b1,b2);
cout<<"S:"<<p->area();
cout<<endl;
p=&z1;
cout<<"请输入正方形数据:";
cin>>c1;
p->setvalues(c1,0);
cout<<"S:"<<p->area();
cout<<endl;
p=&r1;
cout<<"请输入圆形数据:";
cin>>d1;
p->setvalues(d1,0);
cout<<"S:"<<p->area();
cout<<endl;
return 0;
}

 

 

posted @ 2023-04-23 22:33  徐星凯  阅读(9)  评论(0编辑  收藏  举报