#include <iostream>
using namespace std;
class Bass
{
public:
virtual int area()
{
return 0;
}
int r;
int e;
int h;
int l;
};
class Circle:public Bass
{
public:
int area()
{
double r;
cout<<"请输入圆的半径"<<endl;
cin>>r;
double c=3.14*r*r;
cout<<"圆的面积为"<<c<<endl;
return c;
}
};
class triangle:public Bass
{
public:
int area()
{
double e;
cout<<"请输入底边"<<endl;
cin>>e;
double h;
cout<<"请输入高"<<endl;
cin>>h;
double s=0.5*e*h;
cout<<"三角形的面积为"<<s<<endl;
return s;
}
};
class abb:public Bass
{
public:
int area()
{
double l;
cout<<"请输入正方形的边长"<<endl;
cin>>l;
double s=l*l;
cout<<"正方形的面积为"<<s<<endl;
return s;
}
};
void dowork(Bass *b)
{
b->area();
delete b;
}
int main()
{
{
//Bass *b=new Circle;
int z=0;
while(1)
{
cout<<"将要输入哪总方式"<<endl;
cout<<"1.圆"<<endl;
cout<<"2.三角形"<<endl;
cout<<"3.正方形"<<endl;
cin>>z;
switch(z)
{
case 1:
dowork(new Circle);
system("pause");
system("cls");
break;
case 2:
dowork(new triangle);
system("pause");
system("cls");
break;
case 3:
dowork(new abb);
system("pause");
system("cls");
default:break;
}
}
}
return 0;
}
求圆,三角形,正方形的面积。运用多态
最新推荐文章于 2023-10-15 10:45:12 发布