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;
            
        }

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

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

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

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

            return temp;
        }

        //Overload binary minus operator
        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

C# Operator Overloading Programs »

Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.