设计二维点类 Point, 包括私有成员:横坐标x,纵坐标y。能够实现以下操作: 1. 无参构造函数,初始化x=0, y=0; 2. 有参构造函数Point (int x, int y),初始化x,y: 3. 提供公有接口 Setx, Sety,为x,y赋值; (4)提供公有接口 Getx, GetY,访问私有成员x,y; (⑤)打印函数 print,打印点对象坐标。 设计一个类 Line 描述,使Line类中包括 Point 类的两个对象,Line 可以计算线段长度的功能,要求如下: 1. 通过构造函数 Line 为线段的两个点进行初始化; 2. 设賈一个点的坐标值; 3. 计算出这两点间的距离; (4) 输出线段的距离。 要求输入两个点的坐标,第一个点的坐标通过构造函数完成,第二个点的坐标通过设置西数完成,最后输出这两点的距离 [输入形式】分别输入两点的坐标,先输入x,再输入y,坐标值为整型数。 〔输出形式】输出两点间的距离 〔样例输入12345 〔样例输2.8 [样例说明】输入时数据之间用单个空格隔开,输出为实数类型, 保留一位小数。 评分标准〕两点间距离sart ((×1-x2)*x1-x2)+61-v2)*1-y2))
时间: 2023-11-27 07:55:22 浏览: 135
11-19-PointClass:创建一个名为 Point 的类,该类将二维空间中某个位置的 (x, y) 坐标存储为整数
以下是Point类和Line类的代码实现:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
class Point {
private:
int x, y;
public:
Point() {
x = 0;
y = 0;
}
Point(int x, int y) {
this->x = x;
this->y = y;
}
void Setx(int x) {
this->x = x;
}
void Sety(int y) {
this->y = y;
}
int Getx() {
return x;
}
int Gety() {
return y;
}
void print() {
cout << "(" << x << "," << y << ")" << endl;
}
};
class Line {
private:
Point p1, p2;
public:
Line(Point p1, Point p2) {
this->p1 = p1;
this->p2 = p2;
}
void Setp2(Point p2) {
this->p2 = p2;
}
double Length() {
int dx = p1.Getx() - p2.Getx();
int dy = p1.Gety() - p2.Gety();
return sqrt(dx * dx + dy * dy);
}
};
```
使用样例:
```cpp
int main() {
int x1, y1, x2, y2;
cout << "请输入第一个点的坐标:";
cin >> x1 >> y1;
Point p1(x1, y1);
cout << "点的坐标为:";
p1.print();
cout << "请输入第二个点的坐标:";
cin >> x2 >> y2;
Point p2(x2, y2);
Line line(p1, p2);
cout << "线段的长度为:" << line.Length() << endl;
return 0;
}
```
输入样例:
```
请输入第一个点的坐标:1 2
点的坐标为:(1,2)
请输入第二个点的坐标:4 6
```
输出样例:
```
线段的长度为:5
```
阅读全文