已知平面直角坐标系内点类的定义如下: class Point { public: Point(float x0=0, float y0=0){x=x0;

已知平面直角坐标系内点类的定义如下:

class Point

{

public:

Point(float x0=0,
float y0=0){x=x0;y=y0;}

void SetCoordinate(float x1,float y1){x=x1;y=y1}

float GetX(){return x;}

float GetY(){return y;}

private :

float x,y;

};

要求:构造一个正方形类(class square)

①要以Point类对象作为成员。

②至少有2个构造函数,定义如下:

square::square(float x1, float y1, float x2, float y2):P1(x1,y1),P2(x2,y2)

{函数体可自行扩展}

square::square(Point p1, Point p2):P1(p1),P2(p2)

{函数体可自行扩展}

③要求定义拷贝构造函数。

④类成员函数包括:输出四个点的坐标;计算周长;计算面积。 要求定义析构函数。

第1个回答  2018-04-30
#include "iostream.h"
#include "math.h"

class point
{
public:
float x;
float y;

//构造函数
point(float x,float y)
{
this->x=x;
this->y=y;
}
};

class line
{
float a;
float b;
float c;

public:
//构造函数
line(float a,float b,float c)
{
this->a=a;
this->b=b;
this->c=c;
}

float getDistance(point p)
{
float x,y;
x=p.x;
y=p.y;
return fabs(a*x+b*y+c)/sqrt(a*a+b*b);
}
};

void main()
{
float x,y;
cout<<"请输入点的X坐标:";
cin>>x;
cout<<"请输入点的Y坐标:";
cin>>y;
point p(x,y);

float a,b,c;
cout<<"请输入a:";
cin>>a;
cout<<"请输入b:";
cin>>b;
cout<<"请输入c:";
cin>>c;
line l(a,b,c);
cout<<"点到直线的距离为:"<<l.getDistance(p)<<endl;
}本回答被提问者采纳
相似回答