定义点类,并以点类为基类,派生出直线类,从基类中继承的点的信息表示直线的中点。

来源:互联网 发布:淘宝发布宝贝不同规格 编辑:程序博客网 时间:2024/05/20 11:50
#include<iostream>#include<cmath>using namespace std;class Point //定义坐标点类{public:    //定义必要的构造函数    Point(double a=0,double b=0):x(a),y(b){}    double  xreturn(){return x;}    double  yreturn(){return y;}    void PrintPoint() //输出点的信息    {    cout<<"("<<x<<","<<y<<")"<<endl;    }private:    double x,y;   //点的横坐标和纵坐标};class Line: public Point   //利用坐标点类定义直线类, 其基类的数据成员表示直线的中点{public:    Line(Point M, Point N) //构造函数,使用已经初始化的两个端点计算基类数据成员描述的中点    {    pts=M;pte=N;    }    void PrintLine()  //输出直线的两个端点和直线长度    {    cout<<"端点:"<<"("<<pts.xreturn()<<","<<pts.yreturn()<<")"<<endl;    cout<<"端点:"<<"("<<pte.xreturn()<<","<<pte.yreturn()<<")"<<endl;    double a=pts.xreturn()-pte.xreturn();//    cout<<"a="<<a<<endl;    double b=pts.yreturn()-pte.yreturn();//    cout<<"b="<<b<<endl;    cout<<"直线长度:"<<sqrt(a*a+b*b)<<endl;    }private:    class Point pts, pte;   //直线的两个端点};int main(){    Point ps(-2,5),pe(4,13);    Line l(ps,pe);    //下面输出直线l的端点、长度和、中点的信息   l.PrintLine();    return 0;}

0 0
原创粉丝点击