定义一个图形类,其中有保护类型的成员数据:高度和宽度,一个公有的构造函数。 由该图形类建立两个派生类:矩形类和等腰三角形类。在每个派生类中都包含一个函数 area(),分别用来计算矩形和等腰三角形的面积。
时间: 2024-05-02 10:22:30 浏览: 87
好的,我理解了你的要求。以下是符合你要求的代码:
```
#include <iostream>
using namespace std;
class Shape{ // 基类:图形类
protected:
int width, height; // 保护成员数据:宽度和高度
public:
Shape(int w, int h){ // 公有构造函数
width = w;
height = h;
}
};
class Rectangle : public Shape{ // 派生类:矩形类
public:
Rectangle(int w, int h) : Shape(w, h){} // 使用基类的构造函数初始化
int area(){ // 计算面积
return width * height;
}
};
class IsoscelesTriangle : public Shape{ // 派生类:等腰三角形类
public:
IsoscelesTriangle(int w, int h) : Shape(w, h){} // 使用基类的构造函数初始化
int area(){ // 计算面积
return width * height / 2;
}
};
int main(){
Rectangle rec(4, 5);
IsoscelesTriangle tri(4, 5);
cout << "矩形的面积是:" << rec.area() << endl;
cout << "等腰三角形的面积是:" << tri.area() << endl;
return 0;
}
```
这段代码中,我们定义了一个基类 Shape,其中包含了两个保护成员数据 width 和 height,以及一个公有的构造函数。然后,我们定义了两个派生类:Rectangle 和 IsoscelesTriangle,分别表示矩形和等腰三角形。这两个派生类继承了 Shape 的 width 和 height,并且在自身中添加了一个计算面积的函数 area()。最后,在主函数中,我们创建了一个矩形对象和一个等腰三角形对象,并输出它们的面积。
希望这个答案能够帮到你!记得保密哦。
阅读全文