第十周-圆柱类族的设计项目
来源:互联网 发布:末日战歌全套源码 编辑:程序博客网 时间:2024/05/17 08:15
问题及代码:
/*copyright 计算机与控制工程学院完成日期:2016年5月6日作者:马艳艳问题描述:再以Circle类为直接基类,派生出一个Cylinder(圆柱体)类,再增加数据成员h(高),,以及求圆柱表面积的成员函数area和求圆柱体积的成员函数volume,实现需要的成员函数,并设计main函数完成测试。输出描述:圆柱体积面积;*/#include <iostream>using namespace std;const float PI=3.1415926;class Point{public: Point(double x=0,double y=0); //构造函数 void setPoint(double,double); //设置坐标值 double getX( ) const {return x;} //x坐标 double getY( ) const {return y;} //y坐标 void show(); //受保护成员 double x,y;};Point::Point(double a,double b){ x=a; y=b;}//设置x和y的坐标值void Point::setPoint(double a,double b){ x=a; y=b;}void Point::show(){ cout<<"("<<x<<","<<y<<")"<<endl;}class Circle:public Point{ protected: double r; public: Circle (double x=0,double y=0,double r=0); void setR(double); double area()const; void show();};Circle ::Circle(double a,double b,double r):Point (a,b),r(r){}//设置圆的构造函数void Circle::setR(double r){ this->r=r;}double Circle::area()const{ return PI*r*r;//求圆的面积}void Circle ::show(){ cout<<"圆心坐标为:"<<endl; cout<<"("<<x<<","<<y<<")"<<endl; cout<<"半径为:"<<endl; cout<<r<<endl;}class Cylineder :public Circle{public: Cylineder(double x=0,double y=0,double r=0,double h=0);//构造圆柱体的构造函数 void setH(double);//设置圆柱的高 double getH()const;//读取高 double area()const;//求圆柱的面积 double volume()const;//求圆柱的体积 void show();//显示圆柱的信息protected: double h;};Cylineder::Cylineder(double a,double b,double r,double h):Circle(a,b,r),h(h){}void Cylineder::setH(double h){this->h=h;}double Cylineder::getH()const{ return h;}double Cylineder::area()const//求圆柱体表面积{ return 2*Circle::area( )+2*PI*r*h;}double Cylineder::volume()const{ return Circle::area()*h;}void Cylineder::show(){ cout<<"Center=("<<x<<","<<y<<"), r="<<r<<", h="<<h <<"\narea="<<area()<<", volume="<<volume()<<endl;}int main( ){ Cylineder cy1(3.5,6.4,5.2,10); cy1.show(); cy1.setH(15); cy1.setR(7.5); cy1.setPoint(5,5); cy1.show(); return 0;}运行结果:
知识点总结:
我感觉我在写输出圆柱体积那里出错,因为输出时在point那里用的是x,y;但我用的是a,b,所以应该是要保持一致性。因为Circle继承point,cylineder继承Circle。
0 0
- 第十周-圆柱类族的设计项目
- 第十周第十一周上机实践项目-项目1-(1)-点-圆-圆柱类族的设计
- 第十周第十一周上机实践项目-项目1-(2)-点-圆-圆柱类族的设计
- 第十周第十一周上机实践项目-项目1-3-点-圆-圆柱类族的设计
- 第十周项目二 点-圆-圆柱类族的设计
- 第十周项目1 点-圆-圆柱的继承设计
- 第十一周上机实践项目——项目1-点-圆-圆柱类族的设计
- 第十一周项目4-3:类族的设计:圆柱类->圆类->点类
- 第十一周实践项目1.1-点-圆-圆柱类族的设计
- 第十一周项目1-点-圆-圆柱类族的设计(1)
- 第十一周项目1-点-圆-圆柱类族的设计(2)
- 第十一周项目1-点-圆-圆柱类族的设计(3)
- 第十、十一周项目一-点-圆-圆柱类族的设计(1)
- 第十一周实践项目1.2-点-圆-圆柱类族的设计
- 第十、十一周项目一-点-圆-圆柱类族的设计(2)
- 第十、十一周项目一-点-圆-圆柱类族的设计(3)
- 第十一周实践项目1.3-点-圆-圆柱类族的设计
- 第十、十一周项目2:点-圆-圆柱类族的设计(1)
- 总结几个不错的编程观点和习惯
- fetch API 简单解读
- Android 上传文件,图片。以及服务器端接收相关。
- Silverlight利用故事板设计闪烁的动画
- Android网络通信之HttpURLConnection
- 第十周-圆柱类族的设计项目
- [LeetCode28]
- java集合------TreeMap
- 基于Hexo+GitHub Pages 搭建博客详细教程
- 经典排序算法:
- Jayant Sinha:破产法案清零;将有助于提高商业便利
- 今天简单的学习了一下布尔运算。
- Jersey实现Restful webservice及Ajax访问
- 迷宫问题