问题描述】 设计二维点类 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 〔样例输4728 [样例说明】输入时数据之间用单个空格隔开,输出为买数类型, 保留一位小数。 评分标准〕两点间距离sart ((×1-x2)*x1-x2)+61-v2)*1-y2))c++
时间: 2023-11-27 16:53:48 浏览: 135
Point类的实现:
```cpp
class Point {
private:
int x;
int 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;
}
};
```
Line类的实现:
```cpp
class Line {
private:
Point p1;
Point p2;
public:
Line(Point p1, Point p2) {
this->p1 = p1;
this->p2 = p2;
}
void setPoint(int x, int y) {
p2.Setx(x);
p2.Sety(y);
}
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;
cin >> x1 >> y1 >> x2 >> y2;
Point p1(x1, y1);
Point p2(x2, y2);
Line line(p1, p2);
cout << fixed << setprecision(1) << line.length() << endl;
return 0;
}
```
阅读全文
相关推荐


















