2016-08-04 4 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

Awesome Спасибо! – Limitless

+0

Спасибо за помощь, я все еще изучаю C# и скоро буду делать .Net, просто хочу пережить основы – Limitless

Смежные вопросы