定义一个point类,有两个数据成员:x和y, 分别代表x坐标和y坐标,并有若干成员函数。 定义一个函数distance(), 用于求两点之间的距离。
时间: 2023-05-31 13:17:56 浏览: 367
### 回答1:
好的,以下是定义一个Point类的代码,并且实现了distance()函数,用于计算两个点之间的距离:
```python
import math
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def distance(self, other):
dx = self.x - other.x
dy = self.y - other.y
return math.sqrt(dx*dx + dy*dy)
```
以上代码中,定义了一个Point类,该类有两个数据成员x和y,表示x坐标和y坐标。该类还有一个成员函数distance(),用于计算该点与另一个点之间的距离。distance()函数使用欧几里得距离公式来计算两点之间的距离。
要使用该类,可以创建一个Point对象,并调用distance()函数来计算两个点之间的距离,例如:
```python
p1 = Point(1, 2)
p2 = Point(3, 4)
d = p1.distance(p2)
print(d) # 输出 2.8284271247461903
```
以上代码中,首先创建了两个Point对象p1和p2,分别表示坐标为(1, 2)和(3, 4)的两个点。然后调用p1的distance()函数,传入p2作为参数,计算两点之间的距离,并将结果存储在d变量中。最后将d的值输出到控制台,得到的结果为2.8284271247461903。
### 回答2:
首先,我们需要定义一个Point类,包含两个数据成员:x和y,分别代表x坐标和y坐标,如下所示:
```
class Point {
public:
double x;
double y;
};
```
接下来,我们可以在Point类中定义distance()函数,该函数用于计算两个点之间的距离。我们可以使用勾股定理,将两点之间的距离表示为:
```
distance = sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2))
```
其中,x1、y1分别代表第一个点的坐标,x2、y2分别代表第二个点的坐标。pow函数用于计算平方,sqrt函数用于计算平方根。因此,我们可以将distance()函数定义为:
```
double distance(Point p) {
return sqrt(pow(x - p.x, 2) + pow(y - p.y, 2));
}
```
其中,参数p代表另一个点,该函数返回两个点的距离值。
除了distance()函数外,我们还可以定义其他成员函数,如设置坐标值和获取坐标值的函数。以下是完整的Point类定义:
```
class Point {
public:
double x;
double y;
Point() {
x = 0;
y = 0;
}
Point(double xval, double yval) {
x = xval;
y = yval;
}
void set(double xval, double yval) {
x = xval;
y = yval;
}
double getX() {
return x;
}
double getY() {
return y;
}
double distance(Point p) {
return sqrt(pow(x - p.x, 2) + pow(y - p.y, 2));
}
};
```
该类定义了一个默认构造函数,两个带参数的构造函数,set()函数用于设置坐标值,getX()和getY()函数用于获取坐标值,distance()函数用于计算两点之间的距离。
这样,我们就成功地定义了一个Point类,包含两个数据成员和若干成员函数,其中包括计算两点之间距离的distance()函数。
### 回答3:
point类是一个二维平面上的点的类,可以用来表示任何一个点的坐标。它有两个数据成员,分别是x和y,分别代表点在x和y坐标轴上的位置。
为了实现这个类,我们需要定义若干个成员函数来对点进行一些操作。其中一个重要的成员函数是distance(),它可以帮助我们计算平面上任意两个点之间的距离。要定义distance()成员函数,我们需要调用到C++中math库中的sqrt()和pow()函数。
定义point类的框架如下:
class point{
private:
int x;
int y;
public:
point(int _x, int _y){
x = _x;
y = _y;
}
int getX(){
return x;
}
int getY(){
return y;
}
double distance(point otherPoint){
int deltaX = otherPoint.getX()-x;
int deltaY = otherPoint.getY()-y;
return sqrt(pow(deltaX,2)+pow(deltaY,2));
}
};
在上述代码中,我们创建了一个point类,并定义了一个constructor(构造函数)来初始化它的数据成员x和y的初始值。getX()和getY()函数用来获取坐标点的x和y值。最重要的是distance()函数,它接受一个point对象作为输入,并计算这个point对象和调用distance()函数的point对象之间的距离。
在distance()函数中,我们首先通过otherPoint.getX()和otherPoint.getY()来获取另一个点的x和y值,然后计算两点之间在x和y方向上的距离分量,将它们的平方用pow()函数进行计算,将结果加起来用sqrt()函数完成距离的计算,并返回它。
现在,我们可以用下列语句来创建两个点,然后计算它们之间的距离:
point p1(1,1);
point p2(4,5);
double d = p1.distance(p2);
执行以上代码后,得到的d将等于5。
阅读全文