第十一周上机任务项目2

来源:互联网 发布:mac能玩qq游戏大厅吗 编辑:程序博客网 时间:2024/05/18 03:03
01./*      02.* 程序的版权和版本声明部分      03.* Copyright (c)2013, 烟台大学计算机学院学生      04.* All rightsreserved.      05.* 文件名称:Point .cpp                                 06.* 作    者:赵冠哲                                  07* 完成日期:2013年5月9日      08.* 版本号: v1.0            09.* 输入描述:      10.* 问题描述:    11.*/#include<iostream>#include<Cmath>using namespace std;class Point //定义坐标点类{    public:    double x,y;   //点的横坐标和纵坐标    Point(){x=0;y=0;}    Point(double x0,double y0) {x=x0; y=y0;}    void PrintP(){cout<<"Point:("<<x<<","<<y<<")";}};class Line: public Point   //利用坐标点类定义直线类, 其基类的数据成员表示直线的中点{    private:    class Point pt1,pt2;   //直线的两个端点public:    Line(Point pts, Point pte);  //构造函数    double Dx(){return pt2.x-pt1.x;}    double Dy(){return pt2.y-pt1.y;}    double Length();//计算直线的长度    void PrintL();  //输出直线的两个端点和直线长度};//构造函数,分别用参数初始化对应的端点及由基类属性描述的中点Line::Line(Point pts, Point pte):Point((pts.x+pte.x)/2, (pts.y+pte.y)/2){    pt1=pts;    pt2=pte;}double Line::Length(){return sqrt(Dx()*Dx()+Dy()*Dy());}//计算直线的长度void Line::PrintL(){    cout<<" 1st ";    pt1.PrintP();    cout<<"\n 2nd ";    pt2.PrintP();    cout<<"\n The middle point of Line: ";    PrintP();    cout<<"\n The Length of Line: "<<Length()<<endl;//调用Length()输出直线的长度}int main(){ Point ps(-2,5),pe(7,9); Line l(ps,pe); l.PrintL();//输出直线l的信息 l.PrintP();//输出直线l中点的信息 cout<<endl; return 0;}


运行结果: