定义一个二维平面上点的类Piont,包含属性:横坐标,纵坐标,均为私有属性,包含方法:两个构造方法,一个有参方法,一个无参方法(设置属性值)求该点到圆心距离的方法,返回值为距离
时间: 2024-03-20 15:41:01 浏览: 16
好的,我可以帮你定义一个二维平面上点的类Point。这个类包含两个私有成员变量x和y,分别表示点在x轴和y轴上的坐标。同时,这个类还包含了一些公共成员函数,用于获取和设置坐标值,计算点与原点之间的距离,以及输出点的坐标信息等。
```c++
#include <cmath> // sqrt函数需要的头文件
class Point {
private:
double x; // 点的x坐标
double y; // 点的y坐标
public:
// 无参构造函数
Point() {
x = 0;
y = 0;
}
// 有参构造函数
Point(double x, double y) {
this->x = x;
this->y = y;
}
// 获取x坐标
double getX() const {
return x;
}
// 获取y坐标
double getY() const {
return y;
}
// 设置x坐标
void setX(double x) {
this->x = x;
}
// 设置y坐标
void setY(double y) {
this->y = y;
}
// 计算点到原点的距离
double distanceToOrigin() const {
return sqrt(x * x + y * y);
}
// 计算点到圆心的距离
double distanceToCenter(double centerX, double centerY) const {
double dx = x - centerX;
double dy = y - centerY;
return sqrt(dx * dx + dy * dy);
}
// 输出点的坐标信息
void print() const {
cout << "(" << x << ", " << y << ")" << endl;
}
};
```
这样,你就可以创建一个Point对象,并使用它的成员函数来操作它的坐标值和获取其他信息了。例如:
```c++
int main() {
Point p1(3, 4);
p1.print(); // 输出(3, 4)
cout << "Distance to origin: " << p1.distanceToOrigin() << endl; // 输出5
double centerX = 0, centerY = 0;
cout << "Input center coordinates: ";
cin >> centerX >> centerY;
cout << "Distance to center: " << p1.distanceToCenter(centerX, centerY) << endl;
return 0;
}
```
注意,在计算点到圆心的距离时,需要传入圆心的横坐标和纵坐标作为参数。