访问同一类的其他对象的变量

Access variables of other objects of the same class

本文关键字:其他 对象 变量 一类 访问      更新时间:2023-10-16

我正在寻找一种方法,以最佳方式(在安全性和效率方面)访问同一类的其他对象的访问变量。

例如,我有一个包含坐标的Point类,该类的对象应该能够计算到其他点的距离。

class Point {
public:
    calc_distance(?);
private:
    double mXCoord, mYCoord;
};

当然,我可以通过公开坐标并计算类外的距离来做到这一点,但没有更好的方法吗?

公共数据成员不是一个好的做法。使用这样的getter函数:

class Point {
public:
    double getX() { return mXCoord; }
    double getY() { return mYCoord; }
private:
    double mXCoord, mYCoord;
};

当然,作为πάΓταῥεῖ说,您可以将类Point的对象传递给您的函数,如下所示:

double calc_distance(Point point);

或者更好的是,通过传递引用来避免复制:

double calc_distance(Point& point);