点派生出线2

/*

* Copyright (c) 2013, 烟台大学计算机学院

* All rights reserved.

* 文件名称:test.cpp

* 作者:邱学伟

* 完成日期:2013 年 5 月 11 日

* 版本号:v1.0

* 输入描述:无

* 问题描述: 定义点类,并以点类为基类,派生出直线类,从基类中继承的点的信息表示直线的中点

* 程序输出:

* 问题分析:

* 算法设计:略

*/

#include <iostream>

#include <cmath>

using namespace std;

class Point

{

  public:

  Point():x(0),y(0){};

  Point(double x1,double y1)

  {

     x=x1;

     y=y1;

  }

  double getx(){return x;}

  double gety(){return y;}

  void display();

  private:

  double x,y;

};

void Point::display()

{

    cout<<"Point:("<<x<<","<<y<<")"<<endl;

}

class Line:public Point

{

    public:

    Line(Point p1,Point p2);

    double Lengh();

    void PrintLine();

    void PrintPoint();

    private:

    class Point pts,pte;

};

Line::Line(Point p1,Point p2)

{

        pts=p1;

        pte=p2;



}

double Line::Lengh()

{

    double x0=pts.getx()-pte.getx();

    double y0=pts.gety()-pte.gety();

    return sqrt(x0*x0+y0*y0);



}

void Line::PrintLine()

{

    cout<<"端点为:"<<endl;

    pts.display();

    pte.display();

    cout<<"长度:"<<Lengh()<<endl;

}

void Line::PrintPoint()

{

    cout<<"("<<(pts.getx()+pte.getx())/2<<","<<(pts.gety()+pte.gety())/2<<")"<<endl;

}

int main()

{

    Point pt(-2,5),pe(7,9);

    Line l(pt,pe);

    l.PrintLine();

    cout<<"中点:"<<endl;

    l.PrintPoint();

    return 0;

}



点派生出线2

 

心得体会:这是自己敲出来的,跟老师的有不少不同之处;

/*

* Copyright (c) 2013, 烟台大学计算机学院

* All rights reserved.

* 文件名称:test.cpp

* 作者:邱学伟

* 完成日期:2013 年 5 月 11 日

* 版本号:v1.0

* 输入描述:无

* 问题描述: 定义点类,并以点类为基类,派生出直线类,从基类中继承的点的信息表示直线的中点

* 程序输出:

* 问题分析:

* 算法设计:略

*/

#include <iostream>

#include <cmath>

using namespace std;

class Point

{

  public:

  Point():x(0),y(0){};

  Point(double x1,double y1)

  {

     x=x1;

     y=y1;

  }

  double getx(){return x;}

  double gety(){return y;}

  void display();

  private:

  double x,y;

};

void Point::display()

{

    cout<<"Point:("<<x<<","<<y<<")"<<endl;

}

class Line:public Point

{

    public:

    Line(Point p1,Point p2);

    double Lengh();

    void PrintLine();

    void PrintPoint();

    private:

    class Point pts,pte;

};

Line::Line(Point p1,Point p2):Point((p1.getx()+p2.getx())/2,(p1.gety()+p2.gety())/2)

{

        pts=p1;

        pte=p2;



}

double Line::Lengh()

{

    double x0=pts.getx()-pte.getx();

    double y0=pts.gety()-pte.gety();

    return sqrt(x0*x0+y0*y0);



}

void Line::PrintLine()

{

    cout<<"端点为:"<<endl;

    pts.display();

    pte.display();

    cout<<"长度:"<<Lengh()<<endl;

}

void Line::PrintPoint()

{

    cout<<"("<<(pts.getx()+pte.getx())/2<<","<<(pts.gety()+pte.gety())/2<<")"<<endl;

}

int main()

{

    Point pt(-2,5),pe(7,9);

    Line l(pt,pe);

    l.PrintLine();

    cout<<"\n The middle point of Line: ";

    l.PrintPoint() ;//输出直线l中点的信息

    return 0;

}


点派生出线2

 

你可能感兴趣的:(点派生出线2)