定义一个图形类,其中有保护类型的成员数据:高度和宽度,一个公有的构造函数。 由该图形类建立两个派生类:矩形类和等腰三角形类。在每个派生类中都包含一个函数 area(),分别用来计算矩形和等腰三角形的面积。
时间: 2024-05-01 10:17:37 浏览: 80
非常感谢您使用ChitGPT与我交流,根据您的要求,我了解到您需要定义一个图形类,包含高度和宽度这两个保护类型的成员数据,以及一个公有的构造函数。然后由这个图形类衍生出一个矩形类和一个等腰三角形类,其中每个类都应该包含一个 area() 函数,用于计算矩形或等腰三角形的面积。
以下是实现该需求的示例代码:
```c++
#include <iostream>
using namespace std;
class Shape {
protected:
double height;
double width;
public:
Shape(double h, double w) {
height = h;
width = w;
}
};
class Rectangle : public Shape {
public:
Rectangle(double h, double w) : Shape(h, w) {}
double area() {
return height * width;
}
};
class IsoscelesTriangle : public Shape {
public:
IsoscelesTriangle(double h, double w) : Shape(h, w) {}
double area() {
return 0.5 * height * width;
}
};
int main() {
Rectangle rect(5, 10);
IsoscelesTriangle tri(8, 6);
cout << "The area of the rectangle is: " << rect.area() << endl;
cout << "The area of the isosceles triangle is: " << tri.area() << endl;
return 0;
}
```
在这个代码示例中,我们首先定义了一个图形类,其中包含了高度和宽度这两个保护类型的成员数据,以及一个公有的构造函数。然后我们分别建立了一个矩形类和等腰三角形类,它们都是由图形类衍生而来。
接着,在每个派生类中都实现了一个成员函数 area(),用于计算矩形或等腰三角形的面积。在主函数中,我们创建了一个矩形对象和一个等腰三角形对象,并输出它们的面积值。
希望我的回答能够满足您的需要。如果您还有其他问题或者需要更深入的解释,请随时向我提问。
阅读全文