1.创建图像类Shape,包含纯虚函数area(),表示计算图形的面积; 2.圆形类Circle继承于Shape包含函数area(),用于计算面积。 3.矩形类Rect继承于Shape,包含函数area(),用于计算面积。 4.用多态技术,计算圆形和矩形的面积。其他变量和函数根据需要自行定义。
时间: 2024-02-05 17:13:07 浏览: 28
下面是相应的C++代码实现:
```cpp
#include <iostream>
using namespace std;
class Shape{
public:
virtual double area() = 0; // 纯虚函数,计算图形面积
};
class Circle: public Shape{
private:
double radius; // 圆的半径
public:
Circle(double r): radius(r){} // 构造函数
double area(){ // 计算圆的面积
return 3.14 * radius * radius;
}
};
class Rect: public Shape{
private:
double length; // 矩形的长
double width; // 矩形的宽
public:
Rect(double l, double w): length(l), width(w){} // 构造函数
double area(){ // 计算矩形的面积
return length * width;
}
};
int main(){
Shape *pShape = new Circle(2.0); // 创建圆形实例
cout << "Circle area: " << pShape->area() << endl; // 输出圆形面积
delete pShape; // 释放内存
pShape = new Rect(3.0, 4.0); // 创建矩形实例
cout << "Rect area: " << pShape->area() << endl; // 输出矩形面积
delete pShape; // 释放内存
return 0;
}
```
输出结果:
```
Circle area: 12.56
Rect area: 12
```