当前位置:编程学习 > C/C++ >>

从基类中继承的点的信息表示直线的中点

[cpp]
/*
* 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)
{
        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;
}

 

\
 

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

[cpp]
/*
* 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()

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,