2016-08-04 2 views
1

그래서 C#에서 "벡터"를 가지고 놀고 있었는데, 제 자신의 Vector 클래스를 만들었습니다. 내가 시도한 것은 단순한 "+"로 두 벡터를 서로 더하는 것이 었습니다. 이 내 벡터 클래스 :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

두 개의 예제 벡터 예제를 예제 결과 벡터와 함께 제공하여'+ '가 어떻게 작동하는지 알고 싶습니다. –

답변

4

당신은 클래스 내부의 + 연산자를 오버로드해야합니다

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

.NET의 이름 지정 규칙을 따라야하고 클래스 Vector하지 createVector 이름이하는 것이 좋습니다. 명사이어야하며 PascalCase을 사용해야합니다.

+0

굉장 감사! – Limitless

+0

도움을 주셔서 감사합니다. 저는 아직 C#을 배우고 있으며 곧 .NET을 배우게 될 것입니다. 기초를 배우고 싶습니다. – Limitless