1. 设计点类 point,能够表示平面当中的任意点 (20分) (1)数据成员包括两点坐标(x,y)。 (2)成员函数包括构造函数、析构函数、复制构造函数、求点的坐标的函数,打印点坐标的函数,计算两点间距离的函数。 (3)在主函数中实例化出两个点a(0,0),b(6,8),输出a点坐标,打印求出两点间的距离。
时间: 2023-05-31 21:18:01 浏览: 178
### 回答1:
1. 设计点类 point,能够表示平面当中的任意点。(20分) (1)数据成员包括两点坐标(x,y)。 (2)成员函数包括构造函数、析构函数、复制构造函数、求点的坐标的函数,打印点坐标的函数,计算两点间距离的函数。 (3)在主函数中实例化出两个点a(0,0),b(6,8),输出a点坐标,打印求出两点间距离的函数,计算两点间距离的函数。 (4)在主函数中设计一个函数getDistance(),能够计算两个点之间的距离,该函数的参数和返回值均为point型。
### 回答2:
点类是一个能够表示平面中任意点的类。它包含了两个数据成员,分别是该点的横纵坐标(x,y)。同时,该类还包含了构造函数、析构函数、复制构造函数、求点的坐标函数、打印点坐标函数以及计算两点间距离函数等成员函数。
在定义点类时,我们需要首先声明该类,并定义其数据成员及成员函数,具体代码如下:
```cpp
class Point {
public:
Point(double x, double y); // 构造函数
~Point(); // 析构函数
Point(const Point& other); // 复制构造函数
double getX() const; // 获取横坐标
double getY() const; // 获取纵坐标
void printPoint() const; // 打印点的坐标
double distance(const Point& other) const; // 计算两点间距离
private:
double x; // 横坐标
double y; // 纵坐标
};
```
接下来,我们可以分别实现这些函数的功能:
```cpp
Point::Point(double x, double y) : x(x), y(y) {}
Point::~Point() {}
Point::Point(const Point& other) : x(other.x), y(other.y) {}
double Point::getX() const {
return x;
}
double Point::getY() const {
return y;
}
void Point::printPoint() const {
std::cout << "(" << x << "," << y << ")" << std::endl;
}
double Point::distance(const Point& other) const {
double dx = x - other.x;
double dy = y - other.y;
return std::sqrt(dx * dx + dy * dy);
}
```
最后,在主函数中我们可以实例化两个点a(0,0)和b(6,8),然后分别输出a点的坐标,打印出两点之间的距离,具体代码如下:
```cpp
int main() {
Point a(0, 0);
Point b(6, 8);
a.printPoint(); // 输出 (0,0)
std::cout << "Distance between a and b: " << a.distance(b) << std::endl; // 输出 10
return 0;
}
```
到此为止,我们已经完成了点类的定义,并成功实例化并使用了其中的两个点进行计算和输出。
### 回答3:
设计点类 point,表示平面中的任意点:
```c++
class point {
private:
double x;
double y;
public:
point(double new_x, double new_y) {
x = new_x;
y = new_y;
}
// 构造函数
~point() {
// 空函数体,因为没有申请堆空间
}
// 析构函数
point(const point& other) {
x = other.x;
y = other.y;
}
// 复制构造函数
double get_x() {
return x;
}
double get_y() {
return y;
}
// 求点的坐标的函数
void print_coordinate() {
std::cout << "(" << x << ", " << y << ")" << std::endl;
}
// 打印点坐标的函数
double distance(const point& other) {
double dx = x - other.x;
double dy = y - other.y;
return sqrt(dx * dx + dy * dy);
}
// 计算两点间距离的函数
};
```
在主函数中实例化两个点 a(0,0) 和 b(6,8):
```c++
int main() {
point a(0, 0);
std::cout << "a的坐标为:";
a.print_coordinate();
point b(6, 8);
std::cout << "b的坐标为:";
b.print_coordinate();
double dist = a.distance(b);
std::cout << "a和b的距离为:" << dist << std::endl;
return 0;
}
```
输出结果如下:
```
a的坐标为:(0, 0)
b的坐标为:(6, 8)
a和b的距离为:10
```
以上代码实现了设计点类 point,可以表示平面中的任意点,包括数据成员 x 和 y,成员函数包括构造函数、析构函数、复制构造函数、求点的坐标的函数,打印点坐标的函数和计算两点间距离的函数。在主函数中实例化出两个点a(0,0),b(6,8),输出a点坐标,打印求出两点间的距离。