编写一个程序计算图形面积引用继成于派生
时间: 2024-04-30 22:20:04 浏览: 47
c++ 实验 继承 派生
以下是一个计算图形面积的程序,其中使用了继承和派生的概念:
```c++
#include <iostream>
using namespace std;
class Shape {
protected:
float area;
public:
virtual void calculateArea() = 0; //纯虚函数
float getArea() {
return area;
}
};
class Rectangle : public Shape {
private:
float length;
float width;
public:
Rectangle(float l, float w) {
length = l;
width = w;
}
void calculateArea() {
area = length * width;
}
};
class Circle : public Shape {
private:
float radius;
public:
Circle(float r) {
radius = r;
}
void calculateArea() {
area = 3.14 * radius * radius;
}
};
int main() {
Shape *shape;
Rectangle rectangle(5, 3);
Circle circle(4);
shape = &rectangle;
shape->calculateArea();
cout << "矩形的面积:" << shape->getArea() << endl;
shape = &circle;
shape->calculateArea();
cout << "圆的面积:" << shape->getArea() << endl;
return 0;
}
```
程序中定义了一个抽象类 `Shape`,其中包含一个纯虚函数 `calculateArea()` 和一个成员变量 `area`,表示图形的面积。然后分别定义了两个派生类 `Rectangle` 和 `Circle`,分别用于计算矩形和圆形的面积。在 `main()` 函数中,通过使用基类指针指向不同的派生类对象,实现了对不同图形面积的计算和输出。
阅读全文