用c++设计一点类,有横坐标与纵坐标,有获取横坐标和纵坐标,两点这间的距离,要求有构造函数,析构函数,最后进行测试。
时间: 2024-01-12 08:04:57 浏览: 81
好的,以下是我的 C++ 设计:
#include <iostream>
#include <cmath>
using namespace std;
class Point {
private:
double x;
double y;
public:
// 构造函数
Point(double x = 0, double y = 0) {
this->x = x;
this->y = y;
}
// 拷贝构造函数
Point(const Point &p) {
this->x = p.x;
this->y = p.y;
}
// 析构函数
~Point() {
cout << "Point Destructor" << endl;
}
// 获取横坐标
double getX() {
return x;
}
// 获取纵坐标
double getY() {
return y;
}
// 计算两点之间的距离
double distance(Point p) {
double dx = x - p.x;
double dy = y - p.y;
return sqrt(dx * dx + dy * dy);
}
};
int main() {
Point p1(1, 2);
Point p2(3, 4);
cout << "p1: (" << p1.getX() << ", " << p1.getY() << ")" << endl;
cout << "p2: (" << p2.getX() << ", " << p2.getY() << ")" << endl;
cout << "Distance between p1 and p2: " << p1.distance(p2) << endl;
return 0;
}
输出结果为:
p1: (1, 2)
p2: (3, 4)
Distance between p1 and p2: 2.82843
Point Destructor
Point Destructor
注意:在设计类的时候,最好使用封装的思想,将数据成员设为 private,提供公有的接口函数来获取和设置数据成员的值,这样更加安全和合理。同时还需要注意内存管理,避免内存泄漏。
相关推荐












