定义一个图形类,其中有保护类型的成员数据:高度和宽度,一个公有的构造函数。 由该图形类建立两个派生类:矩形类和等腰三角形类。在每个派生类中都包含一个函数 area(),分别用来计算矩形和等腰三角形的面积。
时间: 2024-05-14 14:16:49 浏览: 18
好的,您的问题非常明确。下面是一个定义图形类,并建立两个派生类的代码示例:
```
#include <iostream>
using namespace std;
class Graph {
protected:
double height;
double width;
public:
Graph() {
height = 0;
width = 0;
}
Graph(double h, double w) {
height = h;
width = w;
}
};
class Rectangle : public Graph {
public:
Rectangle(double h, double w) : Graph(h, w) {}
double area() {
return height * width;
}
};
class IsoscelesTriangle : public Graph {
public:
IsoscelesTriangle(double h, double w) : Graph(h, w) {}
double area() {
return 0.5 * height * width;
}
};
int main() {
Rectangle rect(4, 6);
IsoscelesTriangle tri(4, 6);
cout << "矩形的面积为:" << rect.area() << endl;
cout << "等腰三角形的面积为:" << tri.area() << endl;
return 0;
}
```
这个示例中,我们定义了一个图形类`Graph`,其中有两个保护类型的成员数据:高度和宽度。然后我们定义了两个派生类:矩形类`Rectangle`和等腰三角形类`IsoscelesTriangle`,它们都继承了图形类`Graph`。每个派生类中都包含一个函数`area()`,分别用来计算矩形和等腰三角形的面积。最后在程序的主函数中创建了一个矩形对象和一个等腰三角形对象,并调用它们各自的`area()`函数计算面积并输出。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)