创建Shape类,在此类中拥有2个double类型私有成员x和y,设有virtual void show_area()=0纯虚函数和设置私有成员set_mem函数。Shape类拥有3个子类分别是Triangle,Square,Circle,在子类中实现面积。最后在主函数实现。(15分)
时间: 2024-03-23 20:40:07 浏览: 23
以下是代码实现:
```cpp
#include<iostream>
using namespace std;
class Shape{
protected:
double x,y;
public:
void set_mem(double a,double b){
x=a,y=b;
}
virtual void show_area()=0;
};
class Triangle:public Shape{
public:
void show_area(){
cout<<"三角形的面积为:"<<0.5*x*y<<endl;
}
};
class Square:public Shape{
public:
void show_area(){
cout<<"正方形的面积为:"<<x*y<<endl;
}
};
class Circle:public Shape{
public:
void show_area(){
cout<<"圆的面积为:"<<3.14*x*y<<endl;
}
};
int main(){
Triangle tri;
tri.set_mem(3,4);
tri.show_area();
Square sq;
sq.set_mem(5,5);
sq.show_area();
Circle cir;
cir.set_mem(2,2);
cir.show_area();
return 0;
}
```
运行结果:
```
三角形的面积为:6
正方形的面积为:25
圆的面积为:12.56
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)