求助C++程序,急~~~小女子在这谢谢了

来源:百度知道 编辑:互助问答吧 时间:2021/01/19 11:06:16
一、 实验目的
1. 理解派生类与基类的关系

2. 理解派生类继承方式

3. 掌握单继承和多继承使用方法

二、 实验内容
1. 编一个使用派生类的程序,设计一个包含圆和圆柱的几何尺寸的类库,它用内部数据建立几何形状并显示它们的尺寸、面积和体积
2. 设计一个圆类和桌子类,再设计一个圆桌类,它是从前两个类派生出来的。要求输出圆桌的高度、面积、颜色等数据。

三、 实验步骤
以下是实验内容1的简单步骤:
1. 根据实验内容,确定基类和派生类,基类为圆,派生类为圆柱
2. 确定圆类和圆柱类的属性和方法
3. 将分析的结果分别转换为程序的基类和派生类
4. 主函数中定义圆柱的具体的对象,求出其面积和体积。

#include <iostream>

using namespace std;

class circle
{
public:
circle(int radius);
~circle(){};
int GetItsRadius() const { return itsRadius;}
void SetItsRadius(int x) { itsRadius = x;}
virtual int circumference();
virtual int area();
private:
int itsRadius;
};

circle::circle(int radius):
itsRadius(radius){}

int circle::circumference()
{
int cir_cum;
cir_cum = 2*3*itsRadius;
return cir_cum;
}

int circle::area()
{
int cir_area;
cir_area = 3*itsRadius*itsRadius;
return cir_area;
}

class cylinder : public circle
{
public:
cylinder(int high,int radius);
~cylinder();
int GetItsHigh() const { return itsHigh;}
void SetItsHigh(int y) { itsHigh = y;}
int volume(int radius);
int area(int radius);
private:
int itsHigh;
};

cylinder::cylinder(int high,int radius):
circle(radius),
itsHigh(high){}

int cylinder::area(int radius)
{
int cyl_area;
cyl_area = 3*radius*radius + 2*3*radius*itsHigh;
return cyl_area;
}

int cylinder::volume(int radius)
{
int cyl_vol;
cyl_vol = 3*radius*radius*itsHigh;
return cyl_vol;
}

int main()
{
int radius;
cylinder *cyl = new cylinder(3,4);
radius = cyl->GetItsRadius();

cout << "\nThe cylinder's high is: " << cyl->GetItsHigh();
cout << "\nThe cylinder's radius is: " <<cyl->GetItsRadius();
cout << "\nThe cylinder's area is: " << cyl->area(radius);
cout << "\nThe cylinder's volume is: "<< cyl->volume(radius) << endl;
return 0;
}

题目不难,还是自己做,锻炼锻炼阿,呵呵

哈哈,没准儿你贴pp就有人帮你了~~:P