第11周项目4 类组的设计
来源:互联网 发布:赛维网络加班有工资吗 编辑:程序博客网 时间:2024/06/09 19:35
/**Copyright (c)2015,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:score.cpp*作 者:惠睿*完成日期:2015年5月28日*版 本 号:v1.0**问题描述:由基类的设计和测试开始,逐渐完成个各类的设计。*程序输入:无输入。*程序输出:输出表面积,体积。*/#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坐标friend ostream & operator<<(ostream &,const Point &);//重载运算符“<<”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;}ostream & operator<<(ostream &output,const Point &p){output<<"["<<p.x<<","<<p.y<<"]"<<endl;return output;}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; //计算圆面积friend ostream &operator<<(ostream &,const Circle &);//重载运算符“<<”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;}ostream &operator<<(ostream &output,const Circle &c){output<<"Center=["<<c.x<<", "<<c.y<<"], r="<<c.radius<<", area="<<c.area( )<<endl;return output;}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; //计算圆柱体积friend ostream& operator<<(ostream&,const Cylinder&);//重载运算符“<<”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;}ostream &operator<<(ostream &output,const Cylinder& cy){output<<"Center=["<<cy.x<<","<<cy.y<<"], r="<<cy.radius<<", h="<<cy.height<<"\narea="<<cy.area( )<<", volume="<<cy.volume( )<<endl;return output;}int main( ){Cylinder cy1(3.5,6.4,5.2,10);cout<<"\noriginal cylinder:\nx="<<cy1.getX( )<<", y="<<cy1.getY( )<<", r="<<cy1.getRadius( )<<", h="<<cy1.getHeight( )<<"\narea="<<cy1.area()<<",volume="<<cy1.volume()<<endl;cy1.setHeight(15);cy1.setRadius(7.5);cy1.setPoint(5,5);cout<<"\nnew cylinder:\n"<<cy1;return 0;}
运行结果:
0 0
- 第11周项目4 类组的设计
- 第11周 【项目4 - 类族的设计】
- 第11周项目4-类族的设计
- 第11周项目4-类族的设计
- 第11周 项目4 类族的设计
- 第11周项目类族的设计
- 第11周 项目四-类族的设计
- 第11周项目5-类族的设计
- 第10周-项目4-类族的设计
- 第10周项目4-1类族的设计
- 第10周项目4-2类族的设计
- 第10周项目4-3类族的设计
- 第10周项目4-类族的设计
- C++第11周(春)项目4 - 类族的设计
- 第11周-继承和派生-项目5-类族的设计
- 第10、11周项目— 点-圆-圆柱类族的设计(1)
- 第11周项目1——点、圆、圆柱类的设计
- 第10、11周项目1- 点-圆-圆柱类族的设计(1)
- 选项卡去除底部黑线
- 9.3.2 GestureRecognier Swipe
- rgb2YCbCr
- java中的字符串分割函数
- 传智播客c/c++公开课学习笔记--C语言与木马恶意代码分析和360安全防护揭秘
- 第11周项目4 类组的设计
- Shiro的使用与配置实战
- sizeof
- 面向对象(上)
- bzoj 4011
- 重庆治疗最好静脉曲张医院
- 重庆静脉曲张医院哪家最好
- 重庆治静脉曲张哪家医院好
- 重庆静脉曲张那家医院好