用C++设计一个用来表示直角坐标系上点的位置的 Location 类,然后在主程序中创建两个对象 A 和 B,要求 A 在第三象限,B 在第二象限,计算给定两点之间的距离并按如下格式输出结果: A(x1,y1),B(x2,y2) Distance=d 其中 x1、y1、x2、y2 为指定值,d 为计算结果。 指导: (1)在直角坐标系上确定一个点的位置,需要两个坐标值(x,y)。因此,Location 类的 数据成员由两个,即 x 和 y,并将其设为私有的,不允许类外的对象直接访问。 (2)定义 3 个成员函数,init(int initX,int initY)设置点的坐标;GetX()取得点的横坐标; GetY()取得点的纵坐标。
时间: 2024-02-13 18:00:56 浏览: 56
基于c++构建的坐标点类,可以实现坐标的各种操作
好的,以下是 C++ 设计的代码:
```cpp
#include <iostream>
#include <cmath> // 用于计算距离
using namespace std;
class Location {
private:
int x;
int y;
public:
void init(int initX, int initY) {
x = initX;
y = initY;
}
int GetX() {
return x;
}
int GetY() {
return y;
}
};
int main() {
Location A, B;
A.init(-3, -4); // A 在第三象限
B.init(2, -1); // B 在第二象限
int x1 = A.GetX(), y1 = A.GetY();
int x2 = B.GetX(), y2 = B.GetY();
double distance = sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2)); // 计算两点距离
cout << "A(" << x1 << "," << y1 << "),B(" << x2 << "," << y2 << ") Distance=" << distance << endl;
return 0;
}
```
在这段代码中,我们首先定义了一个 Location 类,用于表示直角坐标系上的点。这个类有两个私有的数据成员,即 x 和 y,用于存储点的横坐标和纵坐标。然后我们定义了三个公有的成员函数,init 用于初始化点的坐标,GetX 和 GetY 分别用于获取点的横坐标和纵坐标。
在主程序中,我们创建了两个 Location 类型的对象 A 和 B,并分别调用它们的 init 函数初始化它们的坐标。然后我们通过 GetX 和 GetY 函数获取它们的坐标值,并用这些值计算出两点之间的距离。最后,我们按照指定的输出格式输出结果。
需要注意的是,我们在计算两点之间的距离时使用了数学库中的 sqrt 和 pow 函数,用于计算平方根和幂。
阅读全文