第十一周上机实践项目1(3):点-圆-圆柱类族的设计
来源:互联网 发布:中文msds数据库 编辑:程序博客网 时间:2024/05/18 00:34
/* *Copyright(c) 2016.烟台大学计算机与控制工程学院 *ALL rights reserved. *文件名称:text11.cpp *作者:赵子琳 *完成日期:2016年5月19日 *问题描述:再以Circle类为直接基类,派生出一个Cylinder(圆柱体)类, *再增加数据成员h(高),,以及求圆柱表面积的成员函数area和求圆柱体积的成员函数volume, *实现需要的成员函数,并设计main函数完成测试。 */#include <iostream>using namespace std;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();protected: double x,y;};Point::Point(double a,double b){ x=a; y=b;}void Point::setPoint(double a,double b){ x=a; y=b;}void Point::show(){ cout<<"["<<x<<","<<y<<"]"<<endl;}class Circle:public Point//circle是Point类的公用派生类{public: Circle(double x=0,double y=0,double r=0); void setRadius(double );//设置半径值 double getRadius() const;//读取半径值 double area() const;//计算半径值 void show();protected: double radius;};//定义构造函数,对圆心坐标和半径初始化Circle::Circle(double a,double b,double r):Point(a,b),radius(r){}void Circle::setRadius(double r){ radius=r;}double Circle::getRadius( ) const{ return radius;}double Circle::area() const{ return 3.14159*radius*radius;}void Circle::show(){ cout<<"Center=["<<x<<", "<<y<<"], r="<<radius<<", area="<<area( )<<endl;}class Cylinder:public Circle{public: Cylinder (double x=0,double y=0,double r=0,double h=0);//构造函数 void setHeight(double); //设置圆柱高 double getHeight( ) const; //读取圆柱高 double area( ) const; //计算圆柱表面积 double volume( ) const; //计算圆柱体积 void show();protected: double height;
};Cylinder::Cylinder(double a,double b,double r,double h) :Circle(a,b,r),height(h){}void Cylinder::setHeight(double h){ height=h;}double Cylinder::getHeight( ) const{ return height;}double Cylinder::area( ) const{ return 2*Circle::area( )+2*3.14159*radius*height;}double Cylinder::volume() const{ return Circle::area()*height;}void Cylinder::show(){ cout<<"Center=["<<x<<","<<y<<"], r="<<radius<<", h="<<height <<"\narea="<<area( )<<", volume="<<volume( )<<endl;}int main( ){ Cylinder cy1(5,8,6,10); cout<<"\noriginal cylinder:\nx="; cy1.show(); cy1.setHeight(8.5); cy1.setRadius(6.5); cy1.setPoint(4,5); cout<<"\nnew cylinder:\n"; cy1.show(); return 0;}
0 0
- 第十一周上机实践项目1(3):点-圆-圆柱类族的设计
- 第十一周上机实践项目 项目1-点-圆-圆柱类的设计(3)
- 第十一周上机实践项目1(1):点-圆-圆柱类族的设计
- 第十一周上机实践项目1(2):点-圆-圆柱类族的设计
- 第十一周上机实践项目——项目1-点-圆-圆柱类族的设计
- 第十一周上机实践项目 项目1-点-圆-圆柱类的设计(1)
- 第十一周上机实践项目 项目1-点-圆-圆柱类的设计(2)
- 第十周第十一周上机实践项目-项目1-3-点-圆-圆柱类族的设计
- 第十周第十一周上机实践项目-项目1-(1)-点-圆-圆柱类族的设计
- 第十周第十一周上机实践项目-项目1-(2)-点-圆-圆柱类族的设计
- 第十一周项目1-点-圆-圆柱类族的设计(3)
- 第十、十一周项目1 - 点-圆-圆柱类族的设计(3)
- 第十、十一周项目1 - 点-圆-圆柱类族的设计(3)
- 第十一周实践项目1.1-点-圆-圆柱类族的设计
- 第十一周实践项目1.2-点-圆-圆柱类族的设计
- 第十一周实践项目1.3-点-圆-圆柱类族的设计
- 第十一周项目实践1————点-圆-圆柱类族设计
- 第十一周【项目1 - 点-圆-圆柱类族的设计3】
- Swift开发:VVDocumenter-Xcode-master插件不能用 --- 已经解决
- Unity学习日常问题记录二-关于刚体的碰撞和物理材质(设定了材质不反弹的一种错误)
- python 手记--好记性不如烂笔头
- 关闭MyEclipse的Quick Update
- 编好程序的正确态度
- 第十一周上机实践项目1(3):点-圆-圆柱类族的设计
- oracle数据库怎么新建实例
- java 字符串split有很多坑,使用时请小心!!
- C++作业6
- LeetCode 32. Longest Valid Parentheses(最长有效括号)
- POJ 1125 Floyd最短路入门
- EventBus消息类型重复解决方案
- visual studio 2013(2015)配置opencv 3.1,win10系统(x64)
- iOS跳转麦克风