您的位置:首页 > 其它

第六章

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;
};

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: