2016-08-04 3 views
1

私はC#で "Vectors"を使いこなしていましたが、独自のVectorクラスを作成しました。 私がしようとしたのは、2つのベクトルを単純な "+"で足し合わせることでした。 これは私のベクトルクラスです:C#互いにクラスを追加する

class createVector 
{ 
    //My x,y,z coordinates 
    public int x { get; set; } 
    public int y { get; set; } 
    public int z { get; set; } 

    //constructor 
    public createVector(int X, int Y, int Z=0) 
    { 
     x = X; 
     y = Y; 
     z = Z; 
    } 

    // Convert to String 
    public override string ToString() 
    { 
     return string.Format("X:{0,-5}\nY:{1,-5}\nZ:{2,-5}", x, y, z); 
    } 
} 

そして、私は何をしようとし、これをした:

 createVector Vector1 = new createVector(1, 2); 
     createVector Vector2 = new createVector(3, 4, 5); 

     createVector Vector 3 = Vector1 + Vector2; 

私は一緒にベクトルを追加する機能を使用する必要はありません。

このようなことをすることは可能でしょうか?

+0

私はC#は分かりませんが、 '+'はおそらく関数btwです。 – Carcigenicate

+0

'+'をどのように機能させるかを知るために、2つのサンプルベクトルの例と結果ベクトルの例を示してください。 –

答えて

4

あなたはクラス内+演算子をオーバーロードする必要があります。

public static Vector operator +(Vector v1, Vector v2) 
{ 
    // do logic here then return a vector 
    return new Vector(); 
} 

.NETの命名規則に従うと、あなたのクラスがVectorなくcreateVector命名した方が良いです。名詞で、パスカルケースを使用してください。

+0

恐ろしいありがとう! – Limitless

+0

助けてくれてありがとう、私はまだC#を学んでいて、すぐに.Netをやっていきます。 – Limitless

関連する問題