// Add a new class Matrix.cs
using System;
namespace CSharpConsole
{
class Matrix
{
//declaring variables for a 2*2 matrix
int a, b, c, d;
public Matrix(int a, int b, int c, int d)
{
//initializing the matrix varaibles
this.a=a ; this.b=b ;
this.c=c ; this.d=d ;
}
// overloading the + operator so that it can be used for adding values of 2 matrix
public static Matrix operator + (Matrix m1, Matrix m2)
{
Matrix obj = new Matrix(m1.a + m2.a, m1.b + m2.b, m1.c + m2.c, m1.d + m2.d);
return obj;
}
// overloading the - operator so that it can be used for substracting values of 2 matrix
public static Matrix operator -(Matrix m1, Matrix m2)
{
Matrix obj = new Matrix(m1.a - m2.a, m1.b - m2.b, m1.c - m2.c, m1.d - m2.d);
return obj;
}
//overriding the ToString method inherited from object class for returning the values associated with matrix object
public override string ToString()
{
return string.Format("[a:{0};b:{1};c:{2}:d:{3}]", a,b,c,d );
}
}
}
// Add another class TestMatrix to test the above code.
using System;
namespace CSharpConsole
{
class TestMatrix
{
static void Main()
{
Matrix m1 = new Matrix(5, 6, 7, 8);
Matrix m2 = new Matrix(1, 2, 3, 4);
Matrix m3 = m1 + m2;
Matrix m4 = m1 - m2;
Console.WriteLine(m1);
Console.WriteLine(m2);
Console.WriteLine(m3);
Console.WriteLine(m4);
Console.ReadLine();
}
}
}
Monday, 25 February 2013
Example of Operator Overloading
Labels:
C# basics
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment