定义一个圆形类circle为基类,派生出一个圆柱体类cylinder(增加高度属性)。主函数完成对圆柱体类cylinder的成员函数测试。 1)程序代码如下,请补充圆柱体类定义的代码: #include<iostream> using namespace std; #define PI 3.14 class circle { int r; public: circle(int radius=0){r=radius;} void setr(int radius){r=radius;} int getr(){return r;} double area(){return PI*r*r;} void showcircle(){ cout<<"Radius:"<<r<<'\t'<<"Area:"<<area()<<endl;} }; class cylinder: 1 { 2 }; int main() { circle c1(2); cylinder c2(2,3); c1.showcircle(); c2.showcylinder(); return 0; }
时间: 2024-03-17 13:47:38 浏览: 206
设计基类点类(Point)、直接派生类圆类(Circle)、间接派生类圆柱体类(Cylinder),将求面积的函数(area)声明成虚函数,并在主函数实现虚函数
以下是圆柱体类cylinder的定义代码:
```
class cylinder: public circle {
int h;
public:
cylinder(int radius=0, int height=0): circle(radius), h(height) {}
void seth(int height) {h = height;}
int geth() {return h;}
double volume() {return area() * h;}
void showcylinder() {
cout << "Radius:" << getr() << "\tHeight:" << h << "\tVolume:" << volume() << endl;
}
};
```
在圆柱体类中,我们使用public继承了圆形类,因此圆柱体类可以访问圆形类的公有成员函数和数据成员。在构造函数中,我们使用圆形类的构造函数初始化半径,同时初始化高度h。新增了高度属性h,以及计算圆柱体体积的函数volume()和显示圆柱体信息的函数showcylinder()。
阅读全文