.定义一个类,Point, 具有x, y轴坐标两个私有数据成员(float类型); b.具有获取和设置x,y值的公有函数;写出两种构造函数;其原型为: Point();//此时初始化x,y为0 Point(float xx,float yy); c.具有计算与另一个类对象p1之间距离的公有函数:float calculate_distance(Point p1); d. 在主函数中,提示输入p1, p2两点的x,y坐标,并计算两点的距离; e.在main函数中测试你所设计的所有成员函数。
时间: 2023-04-10 17:01:01 浏览: 173
Point-cloud-layer.zip_cloud_point cloud_对点云数据z轴_点云
好的,我可以回答这个问题。
以下是Point类的定义和实现:
```cpp
class Point {
private:
float x;
float y;
public:
Point() : x(0), y(0) {}
Point(float xx, float yy) : x(xx), y(yy) {}
float get_x() const { return x; }
float get_y() const { return y; }
void set_x(float xx) { x = xx; }
void set_y(float yy) { y = yy; }
float calculate_distance(Point p1) {
float dx = x - p1.get_x();
float dy = y - p1.get_y();
return sqrt(dx * dx + dy * dy);
}
};
```
在主函数中,可以这样使用Point类:
```cpp
int main() {
Point p1, p2;
float x1, y1, x2, y2;
cout << "请输入p1的x,y坐标:";
cin >> x1 >> y1;
p1.set_x(x1);
p1.set_y(y1);
cout << "请输入p2的x,y坐标:";
cin >> x2 >> y2;
p2 = Point(x2, y2);
float distance = p1.calculate_distance(p2);
cout << "p1和p2之间的距离是:" << distance << endl;
return 0;
}
```
在测试时,可以输入不同的坐标值来验证Point类的各个成员函数是否正确。
阅读全文