2016-03-28 10 views
-3

私は、(セキュリティと効率の面で)同じクラスの他のオブジェクトのアクセス変数にアクセスする最良の方法を探しています。同じクラスの他のオブジェクトのアクセス変数

例えば、私はPointのクラスを持っています。そのクラスのオブジェクトは他のポイントまでの距離を計算できるはずです。

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

私は、座標は、公開することによって、これを行うと、当然のこのクラスの外の距離を計算するが、そこより良い方法ではありませんか?

+1

別の 'Point'パラメータを' calc_distance() 'に渡してください。そこには 'mXCoord'と' mYCoord'にアクセスできます。 –

答えて

0

パブリックデータメンバーは良い習慣ではありません。

double calc_distance(Point point); 

以上:πάνταῥεῖは、あなたがこのように、あなたの関数にクラスPointのオブジェクトを渡すことができ、言ったように、もちろん

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

:このようgetter関数を使用それでもコピーを避けるには、参照を渡してください。

double calc_distance(Point& point); 
+0

私の回答は@πάνταῥεupdatedに更新されました。 – gsamaras

+0

質問に直接関係しない、私はしばらくの間これを疑問に思っていました。ポイントクラスにゲッターとセッターを実際に使用しますか? – MikeMB

+0

それは@MikeMBによって異なります。 – gsamaras

関連する問題