11周项目二(点类派生出直线类)

来源:互联网 发布:php上传文件代码 编辑:程序博客网 时间:2024/04/29 14:27
/*    *程序的版权和版本声明部分          * Copyright (c)2013, 烟台大学计算机学院学生        * All rightsreserved.         * 文件名称:Point .cpp       * 作    者:  田凤        *完成日期:2013年5月20日      * 版本号: v1.0                 * 输入描述:略   * 问题描述:略   * 输出:输出点及其直线*代码:#include<iostream>#include<Cmath>using namespace std;class Point //定义坐标点类{public:    Point():x(0),y(0) {};    Point(double x0, double y0):x(x0), y(y0) {};    void PrintPoint(); //输出点的信息    double getx(){return x;}    double gety(){return y;}private:    double x,y;   //数据成员,表示点的横坐标和纵坐标};void Point::PrintPoint(){    cout<<"("<<x<<","<<y<<")";    //输出点}class Line:public Point   //利用坐标点类定义直线类, 其基类的数据成员表示直线的中点{public:    Line(Point pt1, Point pt2):pt1(pt1),pt2(pt2){};  //构造函数,初始化直线的两个端点及由基类数据成员描述的中点    double Length();    //计算并返回直线的长度    void PrintLine();   //输出直线的两个端点和直线长度private:    class Point pt1,pt2;   //直线的两个端点};//下面定义Line类的成员函数double Line::Length(){    return sqrt((pt1.getx()-pt2.getx())*(pt1.getx()-pt2.getx())+(pt1.gety()-pt2.gety())*(pt1.gety()-pt2.gety()));}void Line::PrintLine(){    cout<<"pt1:";    pt1.PrintPoint();    cout<<endl;    cout<<"pt2:";    pt2.PrintPoint();    cout<<endl;    cout<<"Length:"<<Length();}int main(){    double m,n;    Point pt1(-2,5),pt2(7,9);    Line l(pt1,pt2);    l.PrintLine();    cout<<endl;    cout<<"The middle point of Line: ";    m=(pt1.getx()+pt2.getx())/2;//输出直线l中点的信息(请补全代码)    n=(pt1.gety()+pt2.gety())/2;    cout<<"("<<m<<","<<n<<")";    cout<<endl;    return 0;}

*运行结果:

 

                       

原创粉丝点击