第六章
2015-06-22 22:02
260 查看
Zhixin.cpp: #include<iostream> #include"Cylinder.h" using namespace std; int main() { Cylinder cy1(3.5,6.4,5.2,10); cout << "original 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 << "\n new cylinder : \n " << cy1; Point & pRef = cy1; cout << "\n nRef as a Point: " << pRef; Circle & cRef = cy1; cout << "\n cRef as a Circle: " << cRef; return 0; } Point.cpp: #include<iostream> #include"Point.h" using namespace std; Point::Point(float a , float b) { x = a; y = b; } void Point::setPoint(float a, float b) { x = a; y = b; } ostream & operator << (ostream & output , const Point&p) { output << "[" << p.x << "," << p.y << "]" << endl; return output; } Circle.cpp: #include<iostream> #include"Circle.h" using namespace std; Circle::Circle(float a, float b , float r): Point(a , b) ,radius(r){} void Circle::setRadius(float r) { radius = r; } float Circle::getRadius() const { return radius; } float 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; } Cylinder.cpp: #include<iostream> #include"Cylinder.h" using namespace std; Cylinder::Cylinder(float a , float b , float r ,float h): Circle(a, b, r), height(h){} void Cylinder::setHeight(float h) {height = h;} float Cylinder::getHeight() const {return height;} float Cylinder::area() const { return 2*Circle::area()+ 2* 3.14159*radius*height; } float 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 << "\n area = " << cy.area() << ", volume = " << cy.volume() << endl; return output; } Point.h: #include<iostream> using namespace std; class Point { public: Point(float x = 0, float y = 0); void setPoint(float , float); float getX() const {return x;} float getY() const {return y;} friend ostream & operator << (ostream & , const Point &); float x ,y ; }; Circle.h: #include<iostream> #include"Point.h" using namespace std; 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 &); float radius; }; Cylinder.h: #include<iostream> #include"Circle.h" using namespace std; 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&); float height; };
相关文章推荐
- Winsocket编程一般步骤-服务端编程
- 谈谈iOS中粘性动画以及果冻效果的实现
- List接口
- CentOS6.5安装LAMP环境APACHE的安装
- 函数指针数组指针实例
- 只用getchar函数读入一个整数(算法竞赛入门经典 完整版)
- List接口
- UVa11054 - Wine trading in Gergovia UVA
- 2015062201 - 成长
- 第一阶段冲刺站立会议报告一(补)
- 安装并配置Hadoop伪分布模式
- String类转换功能
- 学习计划
- String类转换功能
- NABCD分析
- iframe通信问题及自适应高度
- CSU1661: Query Mutiple
- String类获取功能
- iOS ARC的打开 与 关闭
- SCU 4439 Vertex Cover (2015四川省省赛D题)