访问同一个对象的其他对象的变量class
Access variables of other objects of the same class
我正在寻找一种以最佳方式(在安全性和效率方面)访问同一 class 的其他对象的访问变量的方法。
例如,我有一个Point
class包含坐标,其中的对象应该能够计算到其他点的距离。
class Point {
public:
calc_distance(?);
private:
double mXCoord, mYCoord;
};
当然,我可以通过制作坐标 public 并计算此 class 之外的距离来做到这一点,但是没有更好的方法吗?
Public 数据成员不是一个好习惯。使用这样的 getter 函数:
class Point {
public:
double getX() { return mXCoord; }
double getY() { return mYCoord; }
private:
double mXCoord, mYCoord;
};
当然,正如 πìντα ῥεῖ 所说,您可以将 class Point
的对象传递给您的函数,如下所示:
double calc_distance(Point point);
或者更好的是,通过传递引用来避免复制:
double calc_distance(Point& point);
我正在寻找一种以最佳方式(在安全性和效率方面)访问同一 class 的其他对象的访问变量的方法。
例如,我有一个Point
class包含坐标,其中的对象应该能够计算到其他点的距离。
class Point {
public:
calc_distance(?);
private:
double mXCoord, mYCoord;
};
当然,我可以通过制作坐标 public 并计算此 class 之外的距离来做到这一点,但是没有更好的方法吗?
Public 数据成员不是一个好习惯。使用这样的 getter 函数:
class Point {
public:
double getX() { return mXCoord; }
double getY() { return mYCoord; }
private:
double mXCoord, mYCoord;
};
当然,正如 πìντα ῥεῖ 所说,您可以将 class Point
的对象传递给您的函数,如下所示:
double calc_distance(Point point);
或者更好的是,通过传递引用来避免复制:
double calc_distance(Point& point);