cpp声明一个shape抽象类在此基础上派生出Rectangle和Circle类二者都有GetArea函数计算对象的面积按下面的要求完成程序的编编制工作1Rectangle类有m_Widthm_Helght属性;2Circle类有m_Radlus属性;3分别编写Rectangle类和Circle类带默认参数的构造函数4编写主函数对RectangleCircle类进行测试使它们以统一的操作界面输出面
#include <iostream>
class Shape {
public:
virtual double GetArea() = 0;
};
class Rectangle : public Shape {
private:
double m_Width;
double m_Height;
public:
Rectangle(double width = 0, double height = 0) : m_Width(width), m_Height(height) {}
double GetArea() {
return m_Width * m_Height;
}
};
class Circle : public Shape {
private:
double m_Radius;
public:
Circle(double radius = 0) : m_Radius(radius) {}
double GetArea() {
return 3.14 * m_Radius * m_Radius;
}
};
int main() {
Shape* shapes[2];
shapes[0] = new Rectangle(5, 10);
shapes[1] = new Circle(3);
for (int i = 0; i < 2; i++) {
std::cout << "Area: " << shapes[i]->GetArea() << std::endl;
}
delete shapes[0];
delete shapes[1];
return 0;
}
输出:
Area: 50
Area: 28.26
原文地址: https://www.cveoy.top/t/topic/i9Xc 著作权归作者所有。请勿转载和采集!