• 点派生出线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;
    }
    



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

    /*
    * 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;
    }
    


  • 相关阅读:
    协程基础及其创建和使用方法
    创建进程池与线程池concurrent.futures模块的使用
    线程队列queue的使用
    线程操作之锁的使用
    linux内核调试指南
    在开发板Linux上挂载"驱动"挂载不成功,出现提示server 172.27.52.100 not responding, still trying
    LPC1788 SDRAM运行程序
    Altium designer 原理图库快速创建
    NFS挂载启动
    网站记录
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3073188.html
Copyright © 2020-2023  润新知