C++已定义一个shape抽象类,在此基础上派生出矩形Rectangle和圆形Circle类,二者都有GetArea( )函数计算对象的面积,并编写测试main( )函数。 Class Shape { Public: Shape(){} ~shape(){} Virtual float GetArea()=
时间: 2024-02-19 09:00:43 浏览: 126
声明一个图形基类并在它的基础上派生出其他类并编写程序实现各类的定义及实现
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() 函数,输出面积。最后,记得释放内存。
阅读全文