声明一个基类rectangle(表示长 方形),该类包括数据成员xy(表示长方形的长和宽,访问权限为protected)。,函数成员包括:构造函数,area()(返回长方形的面积)。 声明rectangle的派生类cuboid(表示长方 体),采用共有继承方式,派生类新增数据成员 乙(表示长方体的高),新增函数成员:构造函数,volumn()(返回长方体的体积)。创建派生 类对象c1(2,3,4),并调用volumn0返回该长方体体积。用c++
时间: 2024-03-10 17:44:19 浏览: 215
按以下描述和要求建立两个类:基类 Rectangle(矩形类) 和派生类 Cube(正方体)
下面是基类rectangle和派生类cuboid的代码实现:
```cpp
#include <iostream>
using namespace std;
class rectangle {
protected:
int x, y; // 长和宽
public:
rectangle(int x, int y) : x(x), y(y) {}
virtual int area() { return x * y; }
};
class cuboid : public rectangle {
protected:
int z; // 高
public:
cuboid(int x, int y, int z) : rectangle(x, y), z(z) {}
virtual int volumn() { return x * y * z; }
};
int main() {
cuboid c1(2, 3, 4);
cout << "volumn: " << c1.volumn() << endl;
return 0;
}
```
在上面的代码中,基类rectangle包含了长方形的长和宽,派生类cuboid则新增了长方体的高。在基类中,构造函数用于初始化x和y,area()函数用于计算长方形的面积,注意这里使用了虚函数,以便于在派生类中重写。在派生类中,构造函数用于初始化x、y和z,volumn()函数用于计算长方体的体积,同样使用了虚函数。最后在主函数中创建了一个cuboid对象c1,并调用了它的volumn()函数输出长方体的体积。
阅读全文