クラス内に3つの変数を宣言し、これらの変数を他の値に割り当てる関数を作成し、距離を計算する別の関数を作成する必要があります。新しい値は(X/Y/Z)到達不能であり、私の変更常にゼロ関数内の変数の値を変更してスクープ外で使用する
class Point3D
{
public double x, y, z, ChangedX = 0, ChangedY = 0, ChangedZ = 0;
public void MoveTo(double NewX, double NewY, double NewZ)
{
x = NewX;
NewX = ChangedX;
y = NewY;
NewY = ChangedY;
z = NewZ;
NewZ = ChangedZ;
}
public double DistanceTo()
{
double DeltaX = Math.Pow((ChangedX - x), 2);
double DeltaY = Math.Pow((ChangedY - y), 2);
double DeltaZ = Math.Pow((ChangedZ - z), 2);
return Math.Sqrt(DeltaX + DeltaY + DeltaZ);
}
ている。また、私はOOPを勉強し始めていない長いしばらく前 てきたあなたがお勧めのコースのいずれかのリソースがありますことを助けて?
あなたの投稿コードでは、ChangedX/Y/Z変数を0に初期化した後に変更するものは何もありません。クラスの外から、他のコードで設定しますか? –
ChangedX/Y/ZをNewX/Y/Zに割り当てる目的は何ですか?参照によって呼び出されていないので、これらの値はMoveTo()スコープが終了すると失われます。 – Guclu
変数に到達できない場合は、クラスのインスタンスが複数あることを意味します。クラス内の変数を共有するには、クラスの同じインスタンスを使用するか、変数を静的にして、クラスのすべてのインスタンスで常に同じにする必要があります。 – jdweng