zoukankan      html  css  js  c++  java
  • 第十一周项目3-点类派生直线类

    定义点类Point,并以点类为基类,派生出直线类Line,从基类中继承的点的信息表示直线的中点。请阅读下面的代码,并将缺少的部分写出来。

    /*
     *Copyright (c) 2015,烟台大学计算机学院
     *All gight reserved.
     *文件名称:Demo.cpp
     *作者:邵帅
     *完成时间:2015年05月25日
     *版本号: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;
        }
    protected:
        double x,y;   //点的横坐标和纵坐标
    };
    void Point::PrintPoint()
    {
        cout<<"Point: ("<<x<<","<<y<<")";//输出点
        cout<<endl;
    }
    class Line: public Point   //利用坐标点类定义直线类, 其基类的数据成员表示直线的中点
    {
    public:
        Line(Point pts, Point pte); //构造函数,用初始化直线的两个端点及由基类数据成员描述的中点
        double Length();    //计算并返回直线的长度
        void PrintLine();   //输出直线的两个端点和直线长度
    private:
        class Point pts,pte;   //直线的两个端点,从Point类继承的数据成员表示直线的中点
    };
    Line::Line(Point pt1, Point pt2):Point((pt1.getx()+pt2.getx())/2,(pt1.gety()+pt2.gety())/2)
    {
        pts=pt1;
        pte=pt2;
    }
    double Line::Length()
    {
        int l;
        l=sqrt((pts.getx()-pte.getx())*(pts.getx()-pte.getx())+(pts.gety()-pte.gety())*(pts.gety()-pte.gety()));
        return l;
    }
    void Line::PrintLine()
    {
        cout<<"第一条"<<endl;
        pts.PrintPoint();
        cout<<"第二条"<<endl;
        pte.PrintPoint();
        cout<<"The Length of Line:"<<Length()<<endl;
    }
    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;
    }
    
    运行结果:


    @ Mayuko

  • 相关阅读:
    函数
    文件
    字符编码
    卸载python
    mysql修改密码
    playbook
    expect无交互操作
    用户认证
    配置并访问NFS共享
    配置Multipath多路径环境
  • 原文地址:https://www.cnblogs.com/mayuko/p/4567487.html
Copyright © 2011-2022 走看看