您的位置:首页 > 其它

圆柱类的设计

2016-06-07 21:44 337 查看
#include <iostream>  

using namespace std;  

class Point  

{  

public:  

    Point(double xx=0,double yy=0)  

    {  

        x=xx;  

        y=yy;  

    }  

    void setpoint(double ,double);  

    double getx(){return x;}  

    double gety(){return y;}  

    void Point_show();  

protected:  

    double x,y;  

};  

void Point::setpoint(double xx,double yy)  

{  

    x=xx;  

    y=yy;  

}  

void Point::Point_show()  

{  

    cout<<"x="<<x<<"   y="<<y<<endl;  

}  

class Circle:public Point  

{  

public:  

    Circle(double xx=0,double yy=0,double rr=0);  

    void setRaidus(double rr);  

    double getradius(){return radius;}  

    double area() const;  

    void show();  

protected:  

    double radius;  

};  

Circle::Circle(double xx,double yy,double rr):Point(xx,yy),radius(rr){}  

void Circle::setRaidus(double rr)  

{  

        radius=rr;  

}  

double Circle::area() const  

{  

    return 3.14159*radius*radius;  

}  

void Circle::show()  

{  

    cout<<"圆心为:("<<x<<","<<y<<")  radius="<<radius<<"  area="<<area()<<endl;  

}  

class Cylinder :public Circle  

{  

public:  

    Cylinder(double xx=0,double yy=0,double rr=0,double hh=0);  

    void seth(double hh);  

    double geth(){return h;}  

    double area() const;  

    double volume();  

    void show();  

protected:  

    double h;  

};  

Cylinder::Cylinder(double xx,double yy,double rr,double hh):Circle(xx,yy,rr),h(hh){}  

void Cylinder::seth(double hh)  

{  

    h=hh;  

}  

double Cylinder::area()const  

{  

    return 2*3.14159*radius*radius+2*3.14159*radius*h;  

}  

double Cylinder::volume()  

{  

    return 3.14159*radius*radius*h;  

}  

void Cylinder::show()  

{  

    cout<<"Center=["<<x<<","<<y<<"], r="<<radius<<", h="<<h  

        <<"\narea="<<area( )<<", volume="<<volume( )<<endl;  

}  

int main()  

{  

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

    cout<<"\noriginal cylinder:\nx=";  

    cy1.show();  

    cy1.seth(15);  

    cy1.setRaidus(7.5);  

    cy1.setpoint(5,5);  

    cout<<"\nnew cylinder:\n";  

    cy1.show();  

    return 0;  

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