定义一个Object类,有数据成员weight及相应的操作函数,由此派生出Box类,增加数据成员length、width、height及相应的操作函数,声明一个Box对象,并输出其体积及重量
时间: 2024-02-17 07:03:51 浏览: 118
好的,我来回答你的问题。
以下是定义Object类的代码:
```c++
class Object {
protected:
double weight;
public:
Object(double w) : weight(w) {}
double getWeight() const { return weight; }
};
```
在这个类中,我们只定义了一个受保护的数据成员 `weight`,以及一个构造函数和一个获取重量的公共成员函数。
接下来,我们派生出Box类,增加数据成员 `length`、`width` 和 `height`,并相应地扩展操作函数:
```c++
class Box : public Object {
protected:
double length;
double width;
double height;
public:
Box(double w, double l, double wd, double h)
: Object(w), length(l), width(wd), height(h) {}
double getVolume() const {
return length * width * height;
}
double getWeight() const {
return Object::getWeight();
}
};
```
在这个类中,我们使用 `public` 继承来继承 Object 类,并增加了三个数据成员 `length`、`width` 和 `height`,以及一个构造函数和两个公共成员函数。`getVolume()` 函数返回 Box 对象的体积,`getWeight()` 函数返回 Box 对象的重量,我们在这里使用 `Object::getWeight()` 调用基类 Object 的 `getWeight()` 函数。
最后,我们声明一个 Box 对象并输出其体积和重量:
```c++
int main() {
Box box(10, 2, 3, 4);
cout << "Volume: " << box.getVolume() << endl;
cout << "Weight: " << box.getWeight() << endl;
return 0;
}
```
这里声明了一个 Box 对象 `box`,并将其重量设置为 10,长度、宽度和高度分别设置为 2、3 和 4。然后,我们分别输出 Box 对象的体积和重量,结果如下:
```
Volume: 24
Weight: 10
```
这就是这个程序的运行结果。
阅读全文