2012年 上半年 第十周 C++程序设计 (三十三)

来源:互联网 发布:qq刷钻软件制作 编辑:程序博客网 时间:2024/05/16 13:43
#include<Cmath>    #define pi 3.1415926using namespace std;class Point //定义坐标点类  {  public:      double x,y; //点的横坐标和纵坐标      Point(){x=0;y=0;}      Point(double x0,double y0) {x=x0; y=y0;}       ~Point ()      {  system("pause");    }      double get_x(){return x;}     double get_y(){return y;}     friend ostream &operator << (ostream & output, Point & c);    };     class Circle: public Point //利用坐标点类定义圆类, 其基类的数据成员表示圆的中心  {  private:      double d;  public:      Circle(double xx,double yy,double dd): Point(xx,yy) ,d(dd){} //构造函数      ~Circle()      {      }      friend ostream &operator << (ostream & output, Circle & c);        double get_d(){return d;}  }; class Cylinder: public Circle     {  private:          double h;  public:      Cylinder(double xx,double yy,double dd,double hh): Circle (xx,yy,dd),h(hh){} //构造函数      ~Cylinder()      {      }      friend ostream &operator << (ostream & output,Cylinder & c);        double get_h(){return h;}      double superficial_area(); //表面积      double volume(); //体积  };ostream &operator << (ostream & output, Point & c)  {      output<<"点的横坐标为:"<<c.x<<"     "<<"点的纵坐标为:"<<c.y<<endl;        return output;    } ostream &operator << (ostream & output, Circle & c)  {      output<<"圆的半径为:"<<c.get_d()<<"圆的圆心为"<<"("<<c.get_x()<<","<<c.get_y()<<")"<<endl;        return output;    }  ostream &operator << (ostream & output,Cylinder & c)  {      output<<"圆的高为:"<<c.get_h()<<"圆的半径为:"<<c.get_d()<<"圆的圆心为"<<"("<<c.get_x()<<","<<c.get_y()<<")"<<endl;       return output;     }  double  Cylinder::superficial_area() //表面积  {      double s;      s=2*pi*get_d()*get_d()+2*pi*get_d()*get_h();      return s;  } double  Cylinder::volume() //体积  {      double v;      v=pi*get_d()*get_d()*get_h();      return v;  }  int main()  {      Point p(1,1);      cout<<p;      Circle ci(1,2,6);      cout<<ci;      Cylinder cy(1,2,3,4);      cout<<cy;      cout<<"圆柱的体积为:"<<cy.volume ()<<endl;      cout<<"圆柱的表面积为:"<<cy.superficial_area ()<<endl;     system("pause");     return 0;           }  


运行结果

点的横坐标为:1     点的纵坐标为:1圆的半径为:6圆的圆心为(1,2)圆的高为:4圆的半径为:3圆的圆心为(1,2)圆柱的体积为:113.097圆柱的表面积为:131.947请按任意键继续. . .


 

原创粉丝点击