【问题描述】 定义派生类长方体类Cuboid,公有继承第1题的Rectangle类。在Cuboid类中增加私有数据成员作为长方体的高(整型),公有成员函数volume()计算长方体的体积。在main函数中输入3个整型数据作为长方体的长、宽和高,计算长方体的体积并输出。 【输入形式】 3个整数 【输出形式】 1个整数 【样例输入】 【样例输出】 【样例说明】 【评分标准】 #include <iostream> using namespace std; class Rectangle { private: public: //构造函数 //面积函数 }; class Cuboid:public Rectangle { private: public: //构造函数 //体积函数 }; int main() { int x,y,z; cin>>x>>y>>z; //定义Cuboid类对象c并初始化 cout<<c.volumn()<<endl; return 0; }
时间: 2024-02-14 14:09:29 浏览: 79
按以下描述和要求建立两个类:基类 Rectangle(矩形类) 和派生类 Cube(正方体)
根据题目要求,我们可以定义如下的 `Rectangle` 和 `Cuboid` 类:
```cpp
#include <iostream>
using namespace std;
class Rectangle {
private:
int length;
int width;
public:
Rectangle(int l = 0, int w = 0) : length(l), width(w) {}
int area() const { return length * width; }
};
class Cuboid : public Rectangle {
private:
int height;
public:
Cuboid(int l = 0, int w = 0, int h = 0) : Rectangle(l, w), height(h) {}
int volume() const { return area() * height; }
};
```
在 `Rectangle` 类中,我们将 `length` 和 `width` 定义为私有数据成员,并提供了构造函数和 `area` 函数计算面积。
在 `Cuboid` 类中,我们使用公有继承从 `Rectangle` 类继承了 `length` 和 `width`,并在其中增加了私有数据成员 `height`。在构造函数中,我们首先调用基类 `Rectangle` 的构造函数,再将 `height` 初始化为 `h`。在 `volume` 函数中,我们直接调用基类的 `area` 函数获取底面积,再乘上 `height` 就可以得到长方体的体积。
接下来,在 `main` 函数中,我们输入长、宽和高,再创建 `Cuboid` 类的对象 `c` 并将其初始化,最后输出 `c` 的体积即可:
```cpp
int main() {
int x, y, z;
cin >> x >> y >> z;
Cuboid c(x, y, z);
cout << c.volume() << endl;
return 0;
}
```
阅读全文