Перегрузить оператор + так, что бы он прибавлял соответствующие элементы массивов - C#
Формулировка задачи:
В общем, задача такая: у меня есть два разных двумерных массива, с одинаковым кол-вом строчек и столбцов. Мне нужно перегрузить оператор + так, что бы он прибавлял соответствующие элементы этих массивов.. вот что у меня есть, но как вызвать свою перегрузку я плохо понимаю.. подскажите пожалуйста
class Matrix
{
int kolElem;
int[,] matrix;
public int getKolElem()
{
Console.WriteLine("Введите кол-во элементов в строке/столбце: ");
kolElem = int.Parse(Console.ReadLine());
return kolElem;
}
public int[,] ZapolnenieMassiva()
{
int countElem = getKolElem();
matrix = new int[countElem, countElem];
Random rand = new Random();
for (int q = 0; q < countElem; q++)
for (int i = 0; i < countElem; i++)
matrix[q, i] = rand.Next(-10, 10); //randomnie elementi
return matrix;
}
public void Write()
{
Console.WriteLine("Полученный массив: ");
for (int i = 0; i < kolElem; i++)
{
Console.WriteLine();
for (int j = 0; j < kolElem; j++)
Console.Write("{0, 4}", matrix[i, j] + " ");
}
}
public static Matrix operator +(Matrix op1, Matrix op2)
{
Matrix result = new Matrix();
int countElem = op1.getKolElem();
for (int k = 0; k < countElem; k++)
for (int l = 0; l < countElem; l++)
result.matrix[k, l] = op1.matrix[k, l] + op2.matrix[k, l];
return result;
}
}Решение задачи: «Перегрузить оператор + так, что бы он прибавлял соответствующие элементы массивов»
textual
Листинг программы
Matrix m1 = new Matrix(); Matrix m2 = new Matrix(); Matrix m3 = m1 + m2; // вызываем перегруженный метод сложения матриц