2015.5.20类

来源:互联网 发布:动态桌面软件下载 编辑:程序博客网 时间:2024/05/22 18:07
#include<iostream>using namespace std;class Point{protected:    double p_X;    double p_Y;public:    Point(){}    Point(double x,double y):p_X(x),p_Y(y) {}    void cin_XY(double x,double y);    void show_Point();    double get_X()    {        return p_X;    }    double get_Y()    {        return p_Y;    }    friend ostream & operator<<(ostream&output, Point &a);    friend istream & operator>>(istream&input, Point &a);};void Point::cin_XY(double x,double y){    p_X=x;    p_Y=y;}void Point::show_Point(){    cout<<'('<<p_X<<','<<p_Y<<')'<<endl;}ostream & operator<<(ostream &,Point &a){    cout<<'('<<a.p_X<<','<<a.p_Y<<')';    return cout;}istream & operator>>(istream &,Point &a){    cout<<"请分别输入x,y坐标\n";    cin>>a.p_X>>a.p_Y;    return cin;}class Circle:public Point{protected:    double m_R;public:    Circle(){}    Circle(double x,double y,double r):Point(x,y),m_R(r) {}    void cin_Circle();    void show_Circle();    double get_area();    double get_R()    {        return m_R;    }    friend ostream & operator<<(ostream &,Circle &a);    friend istream & operator>>(istream & ,Circle &a);};void Circle::cin_Circle(){    cout<<"输入圆心坐标和,半径\n";    cin>>p_X>>p_Y>>m_R;}void Circle::show_Circle(){    cout<<"圆心坐标为";    show_Point();    cout<<"半径为"<<m_R<<endl;}double Circle::get_area(){    double a;    a=m_R*m_R*3.14;    return a;}ostream & operator<<(ostream &,Circle &a){    cout<<"圆心坐标为"<<'('<<a.p_X<<','<<a.p_Y<<')'<<"半径为"<<a.m_R;    return cout;}istream & operator>>(istream &,Circle &a){    cout<<"输入圆心坐标和半径\n";    cin>>a.p_X>>a.p_Y>>a.m_R;    return cin;}class Volume:public Circle{protected:    double v_Height;public:    Volume(){};    Volume(double a,double b,double c,double d):Circle(a,b,c),v_Height(d){}    double get_Height(){return v_Height;};    double get_volume();    void show_Volume();    friend ostream &operator<<(ostream&,Volume &a);};double Volume::get_volume(){    double a;    a=m_R*m_R*3.14*v_Height;    return a;}void Volume::show_Volume(){    cout<<"圆柱体的底面圆心为"<<'('<<p_X<<','<<p_Y<<')'<<"底面半径为"<<m_R<<"高为"<<v_Height<<endl;}ostream &operator<<(ostream &,Volume &a){    cout<<"圆柱体的底面圆心为"<<'('<<a.p_X<<','<<a.p_Y<<')'<<"底面半径为"<<a.m_R<<"高为"<<a.v_Height;    return cout;}int main(){    Point a(1,5),b;    a.show_Point();    cin>>b;    cout<<a<<b<<endl;    Circle c,d(4,5,9);    d.show_Circle();    cin>>c;    cout<<c<<endl;    Volume e(3,4,5,6);    e.show_Volume();    cout<<"体积为"<<e.get_volume()<<endl;    cout<<e;    return 0;}

0 0
原创粉丝点击