C++ 访问同一类的其他对象的变量
我正在寻找一种以最佳方式访问同一类的其他对象的变量的方法(在安全性和效率方面) 例如,我有一个包含坐标的C++ 访问同一类的其他对象的变量,c++,class,oop,private,C++,Class,Oop,Private,我正在寻找一种以最佳方式访问同一类的其他对象的变量的方法(在安全性和效率方面) 例如,我有一个包含坐标的点类,其对象应该能够计算到其他点的距离 class Point { public: calc_distance(?); private: double mXCoord, mYCoord; }; 当然,我可以通过公开坐标并计算出这个类之外的距离来做到这一点,但是没有更好的方法吗?公开数据成员不是一个好的做法。使用如下的getter函数: class Point { public
点
类,其对象应该能够计算到其他点的距离
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;
};
double calc_distance(Point point);
当然,作为πάνταῥεῖ 也就是说,您可以将类
Point
的对象传递给您的函数,如下所示:
class Point {
public:
double getX() { return mXCoord; }
double getY() { return mYCoord; }
private:
double mXCoord, mYCoord;
};
double calc_distance(Point point);
或者最好通过传递引用来避免复制:
double calc_distance(Point& point);
只需将另一个
点
参数传递到计算距离()
。你可以在那里访问它的mXCoord
和mycord
。与这个问题没有直接关系,但我一直在想:你真的会在point类中使用getter和setter吗?