我正在寻找一种方法来以最佳方式(在安全性和效率方面)访问同一类的其他对象的访问变量。访问相同类别的其他对象的变量
例如,我有一个Point
类包含坐标,其中的对象应该能够计算到其他点的距离。
class Point {
public:
calc_distance(?);
private:
double mXCoord, mYCoord;
};
我可以通过使坐标公共做到这一点,计算此类课程以外的距离,但是是不是有更好的办法?
我正在寻找一种方法来以最佳方式(在安全性和效率方面)访问同一类的其他对象的访问变量。访问相同类别的其他对象的变量
例如,我有一个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);
只需将另一个'Point'参数传递给'calc_distance()'。你可以在那里访问它的'mXCoord'和'mYCoord'。 –