第十一周

来源:互联网 发布:mac重装系统osx 编辑:程序博客网 时间:2024/04/27 16:07
#include <iostream>using namespace std;class Point{    public:    Point(double a=0,double b=0);    void SetPoint(double,double);    double getX() const {return x;}    double getY() const {return y;}    void ShowPoint();    friend ostream & operator<<(ostream &output,const Point &c);    protected:    double x,y;};Point::Point(double a,double b){    x=a;    y=b;}void Point::SetPoint(double x1,double y1){    x=x1;    y=y1;}void Point::ShowPoint(){    cout<<"Point: ("<<x<<","<<y<<")"<<endl;}ostream & operator<<(ostream &output,const Point &c){    output<<"point: ("<<c.x<<","<<c.y<<")"<<endl;    return output;}class Circle:public Point{   public:   Circle(double a,double b,double c):Point(a,b),r(c){}   void SetCircle(double r2);   double Getr(){return r;}   double area();   void ShowCircle();   friend ostream & operator<<(ostream &,const Circle &C);   protected:   double r;};void Circle::SetCircle(double r2){    r=r2;}double Circle::area(){    return 3.1415*r*r;}void Circle::ShowCircle(){    cout<<"Circle: ("<<x<<","<<y<<") r="<<r<<endl;}ostream & operator<<(ostream &output,const Circle &C){    output<<"Circle: ("<<C.x<<","<<C.y<<") r="<<C.r<<endl;    return output;}class Cylinder:public Circle{    public:    Cylinder(double x3,double y3,double r3,double h3):Circle(x3,y3,r3),h(h3){}    void setheight(double);    double GetCylinder();    double area();    double volume();    friend ostream &operator<<(ostream &,  Cylinder &);    protected:    double h;};void Cylinder::setheight(double h1){    h=h1;}double Cylinder::GetCylinder(){    return h;}double Cylinder::area(){    return 2*3.1415*r*r+3.1415*2*r*h;}double Cylinder::volume(){    return 3.1415*r*r*h;}ostream &operator<<(ostream &output, Cylinder &cy){    output<<"cylinder: ("<<cy.x<<","<<cy.y<<") r="<<cy.r<<" height="<<cy.h<<" area="<<cy.area()<<" volume="<<cy.volume()<<endl;    return output;}int main(){    Cylinder cy(3.5,6.4,5.2,10);    cout<<"cylinder: POINT:("<<cy.getX()<<","<<cy.getY()<<") r="<<cy.Getr()<<" height="<<cy.GetCylinder()<<" are="<<cy.area()<<" volume="<<cy.volume()<<endl;    cy.setheight(15);    cy.SetCircle(7.5);    cy.SetPoint(5,5);    cout<<"cylinder: "<<cy<<endl;    return 0;}

原创粉丝点击