C++ Point 类:重载运算符实现点加法和距离计算
#include <iostream>
#include <cmath>
using namespace std;
class Point {
private:
double x;
double y;
public:
Point(double xval=0, double yval=0):x(xval), y(yval){}
Point operator+ (const Point& p) const {
return Point(x + p.x, y + p.y);
}
double operator- (const Point& p) const {
double dx = x - p.x;
double dy = y - p.y;
return sqrt(dx*dx + dy*dy);
}
void setX(double xval) { x = xval; }
void setY(double yval) { y = yval; }
double getX() const { return x; }
double getY() const { return y; }
};
int main() {
Point p1(1, 2);
Point p2(3, 4);
Point p3 = p1 + p2;
cout << "p3: (" << p3.getX() << ", " << p3.getY() << ")" << endl;
double dist = p1 - p2;
cout << "Distance: " << dist << endl;
return 0;
}
输出结果为:
p3: (4, 6)
Distance: 2.82843
原文地址: https://www.cveoy.top/t/topic/nXhr 著作权归作者所有。请勿转载和采集!