C++已定义一个shape抽象类,在此基础上派生出矩形Rectangle和圆形Circle类,二者都有GetArea( )函数计算对象的面积,并编写测试main( )函数。 Class Shape { Public: Shape(){} ~shape(){} Virtual float GetArea()=
时间: 2024-02-19 12:00:43 浏览: 127
0; };
class Rectangle : public Shape {
private:
float length;
float width;
public:
Rectangle(float l, float w) {
length = l;
width = w;
}
float GetArea() {
return length * width;
}
};
class Circle : public Shape {
private:
float radius;
public:
Circle(float r) {
radius = r;
}
float GetArea() {
return 3.14 * radius * radius;
}
};
int main() {
Shape *shape1 = new Rectangle(5, 10);
Shape *shape2 = new Circle(3);
cout << "Rectangle area: " << shape1->GetArea() << endl;
cout << "Circle area: " << shape2->GetArea() << endl;
delete shape1;
delete shape2;
return 0;
}
这段代码定义了一个抽象类 Shape,然后派生出了 Rectangle 和 Circle 类。Rectangle 和 Circle 都实现了 GetArea() 函数,计算矩形和圆形的面积。在 main 函数中,我们创建了一个 Rectangle 和一个 Circle 对象,然后调用它们的 GetArea() 函数,输出面积。最后,记得释放内存。
阅读全文