第十周项目1(3)
问题及代码:
/*copyright(c)2016.烟台大学计算机学院
* All rights reserved,
* 文件名称:text.Cpp
* 作者:李一波
* 完成日期:2016年5月9日
* 版本号:vc++6.0
*
* 问题描述: 再以Circle类为直接基类,派生出一个Cylinder(圆柱体)类,再增加数据成员h(高),,以及求圆柱表面积的成员函数area和求圆柱体积的成员函数volume,实现需要的成员函数,并设计main函数完成测试。
* 输入描述:
* 程序输出:
*/
#include<iostream>
using namespace std;
#define PI 3.14
class Point
{
public:
Point(int x,int y);
void show();
private:
int x; //横坐标
int y; //纵坐标
};
class Circle:public Point
{
public:
Circle(int r,int x,int y);
double area();
double zhouchang();
private:
int r; //半径
};
class Cylinder:public Circle
{
public:
Cylinder(int x,int y,int r,int gao);
void area();
void volume();
private:
int h;
};
//下面定义类的成员函数
Point::Point(int x,int y)
{
this->x=x;
this->y=y;
}
void Point::show()
{
cout<<x<<' '<<y<<endl;
}
Circle::Circle(int banjing,int x,int y):r(banjing),Point(x,y){}
double Circle::area()
{
return r*r*PI;
}
double Circle::zhouchang()
{
return 2*r*PI;
}
void Cylinder::area()
{
double s;
s=Circle::area()*2+Circle::zhouchang()*h;
cout<<s<<endl;
}
void Cylinder::volume()
{
cout<<Circle::area()*h<<endl;
}
Cylinder::Cylinder(int x,int y,int r,int gao):Circle(x,y,r),h(gao){}
//下面是测试函数
int main()
{
Point p(10,20);
p.show();
Circle c(2,1,2);
cout<<c.area()<<endl;
Cylinder cy(2,1,2,1);
cy.area();
cy.volume();
return 0;
}
运行结果:
还没有评论,来说两句吧...