# C# program to overload binary operators (-,*, /)

Overloading binary operators in C#: Here, we are going to learn how to overload binary operators (binary plus, binary multiply and binary division) in C#.
Submitted by IncludeHelp, on October 04, 2019

## Problem statement

Write a C# program to overload binary operators (-,*, /).

## C# program to overload binary operators (-,*, /)

Here, we will design overloaded methods for binary operators: minus, multiply and divide. In the below program, we will create a Calculator class with data member val.

```using System;

namespace ConsoleApplication1
{
class Calculator
{
//declare integer data member
private int val;

//initialize data members
public Calculator(int val)
{
this.val = val;

}

public static Calculator operator-(Calculator S1, Calculator S2)
{
Calculator temp = new Calculator(0);

temp.val = S1.val - S2.val;

return temp;
}

public static Calculator operator *(Calculator S1, Calculator S2)
{
Calculator temp = new Calculator(0);

temp.val = S1.val * S2.val;

return temp;
}

public static Calculator operator /(Calculator S1, Calculator S2)
{
Calculator temp = new Calculator(0);

temp.val = S1.val / S2.val;

return temp;
}

public void PrintValues()
{
Console.WriteLine("Values of val: " + val);
Console.WriteLine();

}
}

class Program
{
static void Main(string[] args)
{
Calculator S1 = new Calculator(20);
Calculator S2 = new Calculator(10);

Calculator S3 = new Calculator(0);

S3 = S1 - S2;
S3.PrintValues();

S3 = S1 * S2;
S3.PrintValues();

S3 = S1 / S2;
S3.PrintValues();
}
}
}
```

## Output

```Values of val: 10

Values of val: 200

Values of val: 2
```