C++题目61:定义派生类 定义一个长方形Rect类,派生出长方体类Cube,计算并输出派生类对象的表面积和体积。输入形式】 长方体的长宽高 【输出形式】 长方体的表面积和体积 【样例输入】 4 5 6 【样例输出】 area:148 volume:120
时间: 2023-11-30 08:03:43 浏览: 100
继承与派生 运算符重载
好的,这道题需要用到类的继承和多态的概念。下面是C++程序的实现:
```c++
#include <iostream>
using namespace std;
class Rect // 定义长方形类
{
protected:
double length; // 长
double width; // 宽
public:
Rect(double l, double w) : length(l), width(w) {}
virtual double area() const // 计算面积
{
return length * width;
}
};
class Cube : public Rect // 定义长方体类,继承自长方形类
{
private:
double height; // 高
public:
Cube(double l, double w, double h) : Rect(l, w), height(h) {}
virtual double area() const // 计算表面积
{
return 2 * (length * width + length * height + width * height);
}
double volume() const // 计算体积
{
return length * width * height;
}
};
int main()
{
double l, w, h;
cout << "请输入长方体的长宽高:" << endl;
cin >> l >> w >> h;
Cube cube(l, w, h); // 创建长方体对象
cout << "area:" << cube.area() << " volume:" << cube.volume() << endl;
return 0;
}
```
输入样例:
```
4 5 6
```
输出样例:
```
area:148 volume:120
```
希望能够帮到你!
阅读全文