第十一周

来源:互联网 发布:成都工业学院软件 编辑:程序博客网 时间:2024/04/27 19:08
#include<iostream>  #include<Cmath>  using namespace std;  class Point //定义坐标点类  {  public:      Point():x(0),y(0) {};      Point(double x0, double y0):x(x0), y(y0) {};      double getX()      {          return x;      }      double getY()      {          return y;      }      void PrintPoint(); //输出点的信息  protected:      double x,y;   //点的横坐标和纵坐标  };    void Point::PrintPoint()  {      cout<<"Point: ("<<x<<","<<y<<")"<<endl;    //输出点  }    class Line: public Point   //利用坐标点类定义直线类, 其基类的数据成员表示直线的中点  {  public:      Line(Point pts, Point pte); //构造函数,用初始化直线的两个端点及由基类数据成员描述的中点      double Length();    //计算并返回直线的长度      void PrintLine();   //输出直线的两个端点和直线长度  private:      class Point pts,pte;   //直线的两个端点,从Point类继承的数据成员表示直线的中点  };    int main()  {      Point ps(-2,5),pe(7,9);      Line l(ps,pe);      cout<<"About the Line: "<<endl;      l.PrintLine();  //输出直线l的信息:两端点及长度      cout<<"The middle point of Line is: ";      l.PrintPoint(); //输出直线l中点的信息      return 0;  }    Line::Line(Point pts,Point pte):  Point((pts.getX()+pte.getX())/2,(pts.getY()+pte.getY())/2)  {      this->pts=pts;      this->pte=pte;  }    double Line::Length()  {      return sqrt(pow((pts.getX()-pte.getX()),2)+pow((pts.getY()-pte.getY()),2));  }    void Line::PrintLine()  {      cout<<"1st ";      pts.PrintPoint();      cout<<"2nd ";      pte.PrintPoint();      cout<<"The Length of Line "<<Length()<<endl;  }  


0 0
原创粉丝点击