2922: Shape系列-8

时间限制: 1 Sec  内存限制: 128 MB

提交: 172  解决: 99

题目描述

小聪又想借用小强的Shape类了,但是不巧的是小强去考英语四级去了,但是小聪自力更生创建了Point类,但是他没有写Point类、继承Point类的Circle类、继承Circle类的Cylinder类这3个类的构造函数,请你帮忙补充这几个类未完成的函数。
小聪写的各种类
#include <iostream.h>

#define PI 3.14159

class Point

{

public:

  Point(float=0,float=0);

  void setPoint(float,float);

  float getX()const ;

  float getY()const ;

  friend ostream & operator<<(ostream &,const Point &);

protected:

  float x,y;

};

class Circle:public Point

{

public:

  Circle(float x=0,float y=0,float r=0);

  void setRadius(float);

  float getRadius() const;

  float area () const;

  friend ostream &operator<<(ostream &,const Circle &);

 protected:

  float radius;

};

class Cylinder:public Circle

{

public:

  Cylinder (float x=0,float y=0,float r=0,float h=0);

  void setHeight(float);

  float getHeight() const;

  float area() const;

  float volume() const;

  friend ostream& operator<<(ostream&,const Cylinder&);

 protected:

  float height;

};
//小聪用于测试的函数
int main()

{

 Cylinder cy1(3.5,6.4,5.2,10);

 cy1.setHeight(15);

 cy1.setRadius(7.5);

 cy1.setPoint(5,5);

 cout<<"new cylinder:\n"<<cy1;

 Point &pRef=cy1;

 cout<<"pRef as a point:"<<pRef;

 Circle &cRef=cy1;

 cout<<"cRef as a Circle:"<<cRef;

 return 0;

}
提示:不用提交全部程序,只提交补充部分。
 

输入

输出

输出小聪测试的各个数据

样例输出

new cylinder:
Center=[5,5], r=7.5, h=15
area=1060.29, volume=2650.72
pRef as a point:[5,5]
cRef as a Circle:Center=[5,5], r=7.5, area=176.714

im0qianqian_站在回忆的河边看着摇晃的渡船终年无声地摆渡,它们就这样安静地画下黄昏画下清晨......

#include <iostream>
using namespace std;
#define PI 3.14159
class Point
{
public:
Point(float=0,float=0);
void setPoint(float,float);
float getX()const ;
float getY()const ;
friend ostream & operator<<(ostream &,const Point &);
protected:
float x,y;
};
class Circle:public Point
{
public:
Circle(float x=0,float y=0,float r=0);
void setRadius(float);
float getRadius() const;
float area () const;
friend ostream &operator<<(ostream &,const Circle &);
protected:
float radius;
};
class Cylinder:public Circle
{
public:
Cylinder (float x=0,float y=0,float r=0,float h=0);
void setHeight(float);
float getHeight() const;
float area() const;
float volume() const;
friend ostream& operator<<(ostream&,const Cylinder&);
protected:
float height;
};
Cylinder::Cylinder(float x,float y,float r,float h)
{
height=h;
radius=r;
this->y=y;
this->x=x;
}
Circle::Circle(float x,float y,float r) {}
void Cylinder::setHeight(float a)
{
height=a;
}
Point::Point(float a,float b) {}
void Circle::setRadius(float a)
{
radius=a;
}
void Point::setPoint(float a,float b)
{
x=a;
y=b;
}
ostream & operator<<(ostream &a,const Point &b)
{
a<<"["<<b.x<<","<<b.y<<"]"<<endl;
return a;
}
ostream &operator<<(ostream &a,const Circle &b)
{
a<<"Center=["<<b.x<<","<<b.y<<"], r="<<b.radius<<", area="<<b.radius*b.radius*PI<<endl;
return a;
}
ostream& operator<<(ostream &a,const Cylinder &b)
{
a<<"Center=["<<b.x<<","<<b.y<<"], r="<<b.radius<<", h="<<b.height<<endl;
a<<"area="<<2*PI*b.radius*b.radius+2*PI*b.radius*b.height<<", volume="<<b.radius*b.radius*PI*b.height<<endl;
return a;
}
int main()
{
Cylinder cy1(3.5,6.4,5.2,10);
cy1.setHeight(15);
cy1.setRadius(7.5);
cy1.setPoint(5,5);
cout<<"new cylinder:\n"<<cy1;
Point &pRef=cy1;
cout<<"pRef as a point:"<<pRef;
Circle &cRef=cy1;
cout<<"cRef as a Circle:"<<cRef;
return 0;
}

最新文章

  1. FTP提示505错误解决办法
  2. ExtJS6 自适应浏览器窗口大小
  3. [leetcode 27]Implement strStr()
  4. 电话薄设计--java
  5. [Javascript] Limit Built Branches on Travis
  6. JTS Geometry关系判断和分析
  7. JS的加载方式---同步和异步
  8. 结合setTimeout和clearTimeout,实现“返回顶部”的功能
  9. C# - 参数数组Params
  10. AOP Aspect Oriented Programming
  11. Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群
  12. webshell 匿名用户(入侵者)
  13. C#.NET学习笔记2---C#.第一个C#程序
  14. codility上的问题(15) Xi 2012
  15. ASP.NET Core的JWT的实现(中间件).md
  16. 浅谈企业IT技术运营中台
  17. 玩转BLE(2)_使用bluepy扫描BLE的广播数据
  18. docker容器持久化卷讲解
  19. python cook 2
  20. python学习笔记_week10

热门文章

  1. 大数据学习——linux常用命令(五)
  2. python 中range和xrange的区别
  3. HTTP API 自动化测试从手工测试到平台的演变
  4. vscode安装插件
  5. middle(bzoj 2653)
  6. web移动端小tip,box-flex
  7. hdu 5187 zhx&#39;s contest [ 找规律 + 快速幂 + 快速乘法 || Java ]
  8. 从零开始写STL—哈希表
  9. 胜利大逃亡--hdu --1253(bfs)
  10. Eclipse同时显示多个控制台项目的输出